sync from local backup
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import json
|
||||
import hashlib
|
||||
from django.core.cache import caches
|
||||
|
||||
_cache = caches['default']
|
||||
|
||||
CACHE_TIMEOUT = 900
|
||||
|
||||
|
||||
def _make_cache_key(prefix, *args, **kwargs):
|
||||
raw = json.dumps({'args': args, 'kwargs': kwargs}, sort_keys=True, default=str)
|
||||
suffix = hashlib.md5(raw.encode('utf-8')).hexdigest()
|
||||
return f'currency_{prefix}_{suffix}'
|
||||
|
||||
|
||||
def get_cached_data(prefix, *args, **kwargs):
|
||||
cache_key = _make_cache_key(prefix, *args, **kwargs)
|
||||
return _cache.get(cache_key)
|
||||
|
||||
|
||||
def set_cached_data(prefix, data, *args, timeout=CACHE_TIMEOUT, **kwargs):
|
||||
cache_key = _make_cache_key(prefix, *args, **kwargs)
|
||||
_cache.set(cache_key, data, timeout=timeout)
|
||||
|
||||
|
||||
def delete_cached_data(prefix, *args, **kwargs):
|
||||
cache_key = _make_cache_key(prefix, *args, **kwargs)
|
||||
_cache.delete(cache_key)
|
||||
Reference in New Issue
Block a user