--- a/util/memcache.lua Sun Aug 01 12:23:34 2010 +0100 +++ b/util/memcache.lua Sun Aug 01 12:40:45 2010 +0100 @@ -20,8 +20,23 @@ end _expiry[key] = expires; end + _deleted[key] = nil; _data[key] = data; - return true; + return true, true; + end + + function cache:add(key, flags, expires, data) + if not(_data[key]) and (not(_deleted[key]) or _deleted[key] < now()) then + return self:set(key, flags, expires, data); + end + return true, false; -- No error, but data was not stored + end + + function cache:replace(key, flags, expires, data) + if _data[key] and (not(_deleted[key]) or _deleted[key] < now()) then + return self:set(key, flags, expires, data); + end + return true, false; -- No error, but data was not stored end function cache:exists(key)