您的位置:

关于phpmemcacheset的信息

本文目录一览:

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了