php memecache 緩衝分組疑惑
在php memcache緩衝裡,我只找到 add,delete兩種方法添加或刪除緩衝,沒有分組功能
像JAVA版 memecache有分組功能,如我用一個使用者日記分組 當我更新了日記,可以刪除此日記分組緩衝,我的個人日記列表,我的WAP版日記列表也更新
我想有如何功能
add("cacheGroup","cacheName1",$value1);
add("cacheGroup","cacheName2",$value2);
add("cacheGroup","cacheName3",$value3);
deleteGroup("cacheGroup");
然後上面三個緩衝都清除
php memecache緩衝API如下
Memcache::add — 添加一個值,如果已經存在,則返回false
Memcache::addServer — 添加一個可供使用的伺服器位址
Memcache::close — 關閉一個Memcache對象
Memcache::connect — 建立一個Memcache對象
memcache_debug — 控制調試功能
Memcache::decrement — 對儲存的某個key中的值進行減法操作
Memcache::delete — 刪除一個key值
Memcache::flush — 清除所有緩衝的資料
Memcache::get — 擷取一個key值
Memcache::getExtendedStats — 擷取進程池中所有進程的運行系統統計
Memcache::getServerStatus — 擷取運行伺服器的參數
Memcache::getStats — 返回伺服器的一些運行統計資訊
Memcache::getVersion — 返回啟動並執行Memcache的版本資訊
Memcache::increment — 對儲存的某個key中的值進行加法操作
Memcache::pconnect — 建立一個Memcache的持久連線物件
Memcache::replace — R對一個已有的key進行覆寫操作
Memcache::set — 添加一個值,如果已經存在,則覆寫
Memcache::setCompressThreshold — 對大於某一大小的資料進行壓縮
Memcache::setServerParams — 在運行時修改伺服器的參數
------解決方案--------------------
add("cacheGroup","cacheName1",$value1);
add("cacheGroup","cacheName2",$value2);
add("cacheGroup","cacheName3",$value3);
deleteGroup("cacheGroup");
這樣也就是一個key 控制一數組
PHP code
class mem{ public $memcache=null; public $array=array(); public function __construct() { $this->memcache = new Memcache; $this->memcache->connect('localhost', 11211) or die ("Could not connect"); } public function add($parent="",$key="",$value="") { $this->array[$key]=$value; $this->memcache->set($parent,$this->array,false,500); } public function deleteGroup($key=null) { $this->memcache->delete($key); } public function get($key=null) { return $this->memcache->get($key); }}$mem=new mem();$mem->add("cacheGroup","cacheName1","1");$mem->add("cacheGroup","cacheName2","2");$mem->add("cacheGroup","cacheName3","3");//$mem->deleteGroup("cacheGroup");var_Dump($mem->get('cacheGroup'));
------解決方案--------------------
探討
1、
你在 setGroupExpire 使用 parent::set($group, $expire); 這個不就是添加一個緩衝嗎?他怎麼成了設定緩衝時間?