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