Memcache::set

Memcache::set

Memcache::set— 设置一个条目到缓存服务器

1、接口说明

bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )

Memcache::set()向key存储一个元素值为 var。参数expire是以秒为单位的失效时间, 如果设置为0表明该元素永不过期(但是它可能会因为为了给其他项分配空间而被删除)。
如果你希望存储的元素 经过压缩(使用zlib),你可以设置flag的值为MEMCACHE_COMPRESSED。
同样可以使用函数memcache_set()。

2、参数说明
(1)key
将要分配给变量的key。
(2)var
将要被存储的变量。字符串和整型被以原文存储,其他类型序列化后存储。
(3)flag
使用MEMCACHE_COMPRESSED标记对数据进行压缩(使用zlib)。
(4)expire
当前写入缓存的数据的失效时间。如果此值设置为0表明此数据永不过期。
可以设置一个UNIX时间戳或 以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000秒(30天)。

3、返回值
成功时返回TRUE,或者在失败时返回FALSE。

4、示例

<?php
/* 面向过程*/
/*设置'var_key'对应存储的值,flag参数使用0,值没有经过压缩,失效时间为30秒*/
$memcache = memcache_connect("localhost", 11211);
memcache_set($memcache, 'var_key', 'some variable', 0, 30);

echo memcache_get($memcache, 'var_key');

/* 面向对象*/
$memcacheObj = new Memcache;
$memcacheObj->connect('localhost', 11211);
/*设置'var_key'对应存储的值,flag参数使用0,值没有经过压缩,失效时间为50秒*/
$memcacheObj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

echo $memcacheObj->get('var_key');
?>