util/memcache.lua

changeset 14
578214a34ded
parent 13
db66a09dc0b6
child 15
87ef478bf7fc
equal deleted inserted replaced
13:db66a09dc0b6 14:578214a34ded
11 local _flags = {}; 11 local _flags = {};
12 local _expiry = {}; 12 local _expiry = {};
13 local _deleted = {}; 13 local _deleted = {};
14 14
15 function cache:set(key, flags, expires, data) 15 function cache:set(key, flags, expires, data)
16 if expires ~= 0 then 16 _flags[key] = flags;
17 return false, "Expiry is not currently implemented"; 17 if expires > 0 then
18 if expires <= max_expires_seconds then
19 expires = now() + expires;
20 end
21 _expiry[key] = expires;
18 end 22 end
19 _flags[key] = flags;
20 _data[key] = data; 23 _data[key] = data;
21 return true; 24 return true;
22 end 25 end
23 26
24 function cache:get(key) 27 function cache:get(key)
28 local expires = _expiry[key];
29 if expires and expires > now() then
30 self:delete(key);
31 end
25 return _flags[key], _data[key]; 32 return _flags[key], _data[key];
26 end 33 end
27 34
28 function cache:delete(key, time) 35 function cache:delete(key, time)
29 local existed = _data[key]; 36 local existed = _data[key];

mercurial