(PECL memcache >= 0.2.0)
Memcache::set — 存储数据到服务器
Memcache::set() 向 key
存储一个元素值为
var
。参数 expire
是以秒为单位的失效时间,
如果设置为0表明该元素永不过期(但是它可能会因为为了给其他项分配空间而被删除)。如果你希望存储的元素
经过压缩(使用 zlib),你可以设置 flag
的值为 MEMCACHE_COMPRESSED
。
同样你也可以使用函数 memcache_set()。注意:
谨记:资源类型变量(比如文件或连接)不能被存储在缓存中,因为它们在序列化状态不能被完整描述。
key
要设置值的 key。
var
要存储的值,字符串和数值直接存储,其他类型序列化后存储。
flag
使用 MEMCACHE_COMPRESSED
指定对值进行压缩(使用 zlib)。
expire
当前写入缓存的数据的失效时间。如果此值设置为0表明此数据永不过期。你可以设置一个 UNIX 时间戳或 以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000 秒(30天)。
示例 #1 Memcache::set() 示例
<?php
/* procedural API */
/* connect to memcached server */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
设置 'var_key' 对应存储的值
flag 参数使用 0,值没有经过压缩
失效时间为 30 秒
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);
echo memcache_get($memcache_obj, 'var_key');
?>
示例 #2 Memcache::set() 示例
<?php
/* OO API */
$memcache_obj = new Memcache;
/* connect to memcached server */
$memcache_obj->connect('memcache_host', 11211);
/*
设置'var_key'对应值,使用即时压缩
失效时间为50秒
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);
echo $memcache_obj->get('var_key');
?>