Memcache缓存设置时间

Memcache缓存设置的缓存时间最久是多少呢?有说30天的,有说永久的。

查一下手冊
image

通俗的话来讲就是说,如果设置为0,则永不过期,但是它可能会因为为了给其他项分配空间而被删除;如果用秒来设置过期时间,则最久设置的时间是30天,即使你设置了25920001秒,它只是给你保留259200秒;如果用时间戳设置的话,那就随意了,没有限制。

Memcache源代码中计算过期时间,realtime 函数

static rel_time_t realtime(const time_t exptime) 
{

    
/* no. of seconds in 30 days - largest possible delta exptime */


    
if
 
(
exptime 
==
 
0
)
 
return
 
0
;
 
/* 0 means never expire */


    
//如果想保存30天以上则需要传递绝对时间戳,如果不传递绝对

时间戳而是30天的秒数则会导致马上过期

    
//如果不保存30天以上则直接传递过期秒数即可


    
/** #define REALTIME_MAXDELTA 60*60*24*30 */

    
if
 
(
exptime 
>
 REALTIME_MAXDELTA
)
 
{

        
//如果
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值