大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
memcached一般都设置expire过期了自动删除,然后
$arr = $mem->get($key);
if(empty($arr)){
$sql = “select ….”;
$arr = $pdo->fetch();
$mem->set($key,$arr,10*60);
}
redis的PHP API只有一个setex设置过期时间,其他的list,zset都没看到,如果没有的话是不设置的缓存一直存在,内存一直在增加?如果缓存有更新的话怎么维护呢?
其实我想问的是redis的更新策略,zset的数据一直在内存中,如果数据有更新怎么维护呢?如果像memcache有失效期好了,但为什么它没有设计呢?
回复内容:
memcached一般都设置expire过期了自动删除,然后
$arr = $mem->get($key);
if(empty($arr)){
$sql = “select ….”;
$arr = $pdo->fetch();
$mem->set($key,$arr,10*60);
}
redis的PHP API只有一个setex设置过期时间,其他的list,zset都没看到,如果没有的话是不设置的缓存一直存在,内存一直在增加?如果缓存有更新的话怎么维护呢?
其实我想问的是redis的更新策略,zset的数据一直在内存中,如果数据有更新怎么维护呢?如果像memcache有失效期好了,但为什么它没有设计呢?
对于一般的key用EXPIRE命令。http://redis.io/commands/expire
不设置ttl当然会一直存在。set更新会覆盖原值。
list,zset 也是可以设置过期时间的,都是使用 EXPIRE 命令
一般是根据需求来进行设置
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189348.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...