本文目錄一覽:
php操作memcacheq
$arr=array(1,2,3,4,5);
$q-set(“queque_1”,$arr);
這樣,你取的時候就會是一個數組了
PHP可以拿到memcache中的key的過期時間嗎?
memcached 數據過期機制 lazy expiration
內部不會監視記錄是否過期,而是在get時查看記錄的時間戳,檢查記錄是否過期。這種技術被稱為lazy(惰性)expiration。因此,memcached不會在過期監視上耗費CPU時間,換句話說,也不能 檢測 某個key的過期時間。
可以使用一種較笨的方法:
definde(‘MEM_TIME_OUT’,1800);
$memKey = “testkey”;
$val = ‘This is test value’;
mem_set($key,$val); //調用
function mem_set($key,$val) {
$memcache – set($memKey,$val, 0, MEM_TIME_OUT);
//當調用set 的時候順便加一條記錄時間
$memcache – set(‘TIME_’.$memKey,time(), 0, MEM_TIME_OUT);
}
function mem_get($key,$is_time = false) {
$memKey = $is_time ? ‘TIME_’.$key : $key;
$val = $memcache – get($key);
if($is_time) {
$val = MEM_TIME_OUT – (time() – $val);
}
return $val;
}
php中memcached怎麼存多維數組
PHP的Memcached的驅動會自動進行serialize和unserialize,你所需要做的是:
1. 選取一個合適key,比如 “POST_OF_USER_” . $userId
2. 調用set函數把數據丟進去就行了
示例代碼:
全選複製放進筆記// 0. 準備:
$cache = new Memcache();
$cache-connect(‘127.0.0.1’, 11211); // 請替換為你的memcache服務器地址和端口
$userId = // 你自己想辦法獲取…
// 1. 構造cache KEY
$cacheKey = “POSTS_OF_USER_” . $userId;
// 2. 從緩存中獲取數據
$posts = $cache-get($cacheKey);
if ($posts === false){
// 3. 緩存失效了,加載數據
$posts = // 你自己想辦法加載數據
// 4. 保存數據到緩存中
$cache-set($cacheKey, $posts);
}
// OK,可以使用posts了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/194276.html