Synced
Under attack mode (bdb9b6a224) Update Locales (97804234f1) IT Translation (58a95aecef) Fix z-index (fd0119bf70) Improvement to under attack mode (411b50178e) Translations (22268c1923) (c72fb9c836)
This commit is contained in:
parent
2ba50bc116
commit
42fb6cf8d6
12 changed files with 552 additions and 444 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import redis
|
||||
import time
|
||||
|
||||
storage = None
|
||||
def get_storage():
|
||||
|
|
@ -18,7 +19,7 @@ class Storage:
|
|||
def get_int(self, key):
|
||||
raise Exception("not implemented")
|
||||
|
||||
def set_str(self, key, value):
|
||||
def set_str(self, key, value, ex=None):
|
||||
raise Exception("not implemented")
|
||||
def get_str(self, key):
|
||||
raise Exception("not implemented")
|
||||
|
|
@ -56,11 +57,22 @@ class MemoryStorage(Storage):
|
|||
def get_int(self, key):
|
||||
return int(self.store.get(key, 0))
|
||||
|
||||
def set_str(self, key, value):
|
||||
self.store[key] = value
|
||||
def set_str(self, key, value, ex=None):
|
||||
self.store[key] = {
|
||||
'value': value,
|
||||
'ex': None if ex is None else time.time() + ex
|
||||
}
|
||||
|
||||
def get_str(self, key):
|
||||
return str(self.store.get(key, ""))
|
||||
d = self.store.get(key, {'value': '', 'ex': None})
|
||||
if d['ex'] is None:
|
||||
return d['value']
|
||||
else:
|
||||
if d['ex'] <= time.time():
|
||||
del self.store[key]
|
||||
return ''
|
||||
else:
|
||||
return d['value']
|
||||
|
||||
def set_hash_int(self, ns, key, value):
|
||||
if ns not in self.store:
|
||||
|
|
@ -123,8 +135,8 @@ class RedisStorage(Storage):
|
|||
else:
|
||||
return v
|
||||
|
||||
def set_str(self, key, value):
|
||||
self.conn.set(key, value)
|
||||
def set_str(self, key, value, ex=None):
|
||||
self.conn.set(key, value, ex=ex)
|
||||
|
||||
def get_str(self, key):
|
||||
v = self.conn.get(key)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue