mirror of
https://github.com/krateng/maloja.git
synced 2023-08-10 21:12:55 +03:00
Better database cache
This commit is contained in:
parent
c9048b4ff3
commit
2d87f67322
19
database.py
19
database.py
@ -9,7 +9,11 @@ from urihandler import uri_to_internal
|
||||
# doreah toolkit
|
||||
from doreah.logging import log
|
||||
from doreah import tsv
|
||||
from doreah.caching import Cache
|
||||
from doreah.caching import Cache, DeepCache
|
||||
try:
|
||||
from doreah.persistence import DiskDict
|
||||
except: pass
|
||||
import doreah
|
||||
# technical
|
||||
import os
|
||||
import datetime
|
||||
@ -888,14 +892,18 @@ def sync():
|
||||
|
||||
###
|
||||
## Caches in front of DB
|
||||
## these are intended mainly for excessive site navigation during one session (e.g. constantly going back to the main page to click the next link)
|
||||
## the volatile caches are intended mainly for excessive site navigation during one session
|
||||
## the permanent caches are there to save data that is hard to calculate and never changes (old charts)
|
||||
###
|
||||
|
||||
|
||||
import copy
|
||||
|
||||
cache_query = {}
|
||||
cache_query_permanent = Cache(maxmemory=1024*1024*settings.get_settings("DB_CACHE_SIZE"))
|
||||
if doreah.version >= (0,7,1):
|
||||
cache_query_permanent = DiskDict(name="dbquery",folder="cache",maxmemory=1024*1024*10,maxstorage=1024*1024*settings.get_settings("DB_CACHE_SIZE"))
|
||||
else:
|
||||
cache_query_permanent = Cache(maxmemory=1024*1024*10)
|
||||
cacheday = (0,0,0)
|
||||
def db_query(**kwargs):
|
||||
check_cache_age()
|
||||
@ -918,7 +926,10 @@ def db_query(**kwargs):
|
||||
return result
|
||||
|
||||
cache_aggregate = {}
|
||||
cache_aggregate_permanent = Cache(maxmemory=1024*1024*settings.get_settings("DB_CACHE_SIZE"))
|
||||
if doreah.version >= (0,7,1):
|
||||
cache_aggregate_permanent = DiskDict(name="dbaggregate",folder="cache",maxmemory=1024*1024*10,maxstorage=1024*1024*settings.get_settings("DB_CACHE_SIZE"))
|
||||
else:
|
||||
cache_aggregate_permanent = Cache(maxmemory=1024*1024*10)
|
||||
def db_aggregate(**kwargs):
|
||||
check_cache_age()
|
||||
global cache_aggregate, cache_aggregate_permanent
|
||||
|
Binary file not shown.
@ -12,7 +12,7 @@ CACHE_EXPIRE_POSITIVE = 300 # after how many days positive results should be ref
|
||||
|
||||
[Database]
|
||||
|
||||
DB_CACHE_SIZE = 1024 # how many MB the database cache should have available.
|
||||
DB_CACHE_SIZE = 8192 # how many MB on disk each database cache should have available.
|
||||
|
||||
[Local Images]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user