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; |