util/memcache.lua

changeset 15
87ef478bf7fc
parent 14
578214a34ded
child 16
906615e293de
equal deleted inserted replaced
14:578214a34ded 15:87ef478bf7fc
24 return true; 24 return true;
25 end 25 end
26 26
27 function cache:get(key) 27 function cache:get(key)
28 local expires = _expiry[key]; 28 local expires = _expiry[key];
29 if expires and expires > now() then 29 if expires and expires < now() then
30 self:delete(key); 30 self:delete(key);
31 end 31 end
32 return _flags[key], _data[key]; 32 return _flags[key], _data[key];
33 end 33 end
34 34
35 function cache:delete(key, time) 35 function cache:delete(key, time)
36 local existed = _data[key]; 36 local existed = _data[key];
37 _flags[key], _data[key], _expires[key] = nil, nil, nil; 37 _flags[key], _data[key], _expiry[key] = nil, nil, nil;
38 if existed and time then 38 if existed and time then
39 if time <= max_expires_seconds then 39 if time <= max_expires_seconds then
40 time = now() + time; 40 time = now() + time;
41 end 41 end
42 _deleted[key] = time; 42 _deleted[key] = time;

mercurial