note 76521 added to function.Memcache-delete

From: Date: Thu, 19 Jul 2007 07:18:53 +0000
Subject: note 76521 added to function.Memcache-delete
Groups: php.notes 
Request: Send a blank email to php-notes+get-128713@lists.php.net to get a copy of this message
Timeout is the amount of time the key is in the delete queue. While the key is in the delete queue you can't add that key back into the cache, but you can use set. Set will remove the key from the delete queue and add it to cache. Ex: <?php $memcache = new Memcache(); $memcache->connect("127.0.0.1", 11211); // add "test" with timeout 60 sec echo "add: " . ($memcache->add("test", "value", 0, 60) ? "t" : "f") . "<br>"; // get works because it was just added echo "get: " . (($ret = $memcache->get("test")) !== false ? "'$ret'" : "f") . "<br>"; // delete works because it's in cache echo "delete: " . ($memcache->delete("test", 1) ? "t" : "f") . "<br>"; // can't get "test" it is deleted echo "get: " . (($ret = $memcache->get("test")) !== false ? "'$ret'" : "f") . "<br>"; // can't add "test" it is still in delete queue echo "add: " . ($memcache->add("test", "value", 0, 60) ? "t" : "f") . "<br>"; echo "sleep(2)<br>"; // force output ob_flush(); flush(); // wait 2 sec sleep(2); // add works because "test" is not in delete queue echo "add: " . ($memcache->add("test", "value", 0, 60) ? "t" : "f") . "<br>"; // delete works because it's in cache echo "delete: " . ($memcache->delete("test", 1) ? "t" : "f") . "<br>"; // set removes "test" from delete queue and adds it to the cache echo "set: " . ($memcache->set("test", "value", 0, 60) ? "t" : "f") . "<br>"; // get works echo "get: " . (($ret = $memcache->get("test")) !== false ? "'$ret'" : "f") . "<br>"; echo "sleep(2)<br>"; // force output ob_flush(); flush(); // wait 2 sec sleep(2); // get still works echo "get: " . (($ret = $memcache->get("test")) !== false ? "'$ret'" : "f") . "<br>"; // delete works because it's in cache echo "delete: " . ($memcache->delete("test") ? "t" : "f") . "<br>"; // add works because "test" wasn't added to the delete queue echo "add: " . ($memcache->add("test", "value", 0, 60) ? "t" : "f") . "<br>"; // delete works because it's in cache echo "delete: " . ($memcache->delete("test") ? "t" : "f") . "<br>"; ?> Output: add: t get: 'value' delete: t get: f add: f sleep(2) add: t delete: t set: t get: 'value' sleep(2) get: 'value' delete: t add: t delete: t ---- Server IP: 64.71.164.2 Probable Submitter: 68.23.161.189 ---- Manual Page -- http://www.php.net/manual/en/function.Memcache-delete.php Edit -- https://master.php.net/note/edit/76521 Del: integrated -- https://master.php.net/note/delete/76521/integrated Del: useless -- https://master.php.net/note/delete/76521/useless Del: bad code -- https://master.php.net/note/delete/76521/bad+code Del: spam -- https://master.php.net/note/delete/76521/spam Del: non-english -- https://master.php.net/note/delete/76521/non-english Del: in docs -- https://master.php.net/note/delete/76521/in+docs Del: other reasons-- https://master.php.net/note/delete/76521 Reject -- https://master.php.net/note/reject/76521 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#128713) next »