读书人

MemCached逾期时间的设置

发布时间: 2012-12-24 10:43:13 作者: rapoo

MemCached过期时间的设置

过期时间有两种格式:1. 相对时间:多长时间,给出过期的时间长度2. 绝对时间:到期时间,给出过期的最后期限?服务端的处理时间处理源代码【memcached.c】如下:#define REALTIME_MAXDELTA 60*60*24*30?????????????????????// 定义30天的秒数static rel_time_t realtime(const time_t exptime) {???????if (exptime == 0) return 0;???????if (exptime > REALTIME_MAXDELTA) {???????????????????????// 超过30天,是绝对时间??????????????if (exptime <= process_started)?????????????????????????// 小于进程启动日期??????????????????????return (rel_time_t)1;??????????????????????????????????//??????????????return (rel_time_t)(exptime - process_started);???// 返回进程启动之后的时间差???????} else {???????????????????????????????????????????????????????????????????// 不超过30天,是相对时间??????????????return (rel_time_t)(exptime + current_time);???????// exptime + (tvsec - process_started)???????}}?相对时间时,返回的值是:服务器当前时间之后的exptime - process_started秒绝对时间时,返回的值是:服务器当前时间之后的(exptime -服务器当前时间) - process_started秒?可以看到,如果Client和Server时间不一致,使用绝对时间很容易导致缓存过期。所以使用相对时间是比较安全的做法。

读书人网 >编程

热点推荐