util/memcache.lua

changeset 17
5bede08f2f55
parent 16
906615e293de
child 19
61c4d7f8279c
--- 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)

mercurial