网站地图    收藏   

主页 > php专栏 > php类库 >

Memcached 超时时间解决方案

来源:未知    时间:2021-05-25 09:42 作者:小飞侠 阅读:

[导读] Memcached 超时时间解决方案 Memcached 存储命令 expire 过期时间设置 问题: 拿set命令为例 boolMemcache::set( string$key,mixed$var[, int$flag[, int$expire]] ) 一个同事将 $expire 设置为100天,发现设置的ke...

Memcached 超时时间解决方案

Memcached 存储命令 expire 过期时间设置

问题:

拿set命令为例

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

一个同事将 $expire 设置为100天,发现设置的key总是获取不到值…

 

 

因:

一些存储命令在发送时会包含一个失效值(与一个元素或一个客户端操作请求相关)到服务端。所有这类用法,实际发送的值可以 是一个Unix时间戳(自1970年1月1日起至失效时间的整型秒数),或者是一个从现在算起的以秒为单位的数字。对于后一种情况,这个 秒数不能超过60×60×24×30(30天时间的秒数);如果失效的值大于这个值, 服务端会将其作为一个真实的Unix时间戳来处理而不是 自当前时间的偏移。

如果失效值被设置为0(默认),此元素永不过期(但是它可能由于服务端为了给其他新的元素分配空间而被删除)

 

 

Memcache::set

(PECL memcache >= 0.2.0)

Memcache::set — Store data at the server

说明

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

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

Note:

谨记:资源类型变量(比如文件或连接)不能被存储在缓存中,因为它们在序列化状态不能被完整描述。

 

同样你也可以使用函数memcache_set()。 

参数

 

  • key

  • 要设置值的key。


  • var

  • 要存储的值,字符串和数值直接存储,其他类型序列化后存储。


  • flag

  • 使用MEMCACHE_COMPRESSED指定对值进行压缩(使用zlib)。


  • expire

  • 当前写入缓存的数据的失效时间。如果此值设置为0表明此数据永不过期。你可以设置一个UNIX时间戳或 以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000秒(30天)。


 

返回值

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

范例

 

Example #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');
?>
Example #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');
?>

以上就是Memcached 超时时间解决方案全部教程,感觉支持自学php网。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论