MemCached過期時間的設定
阿新 • • 發佈:2018-11-17
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
過期時間有兩種格式: 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時間不一致,使用絕對時間很容易導致快取過期。 所以使用相對時間是比較安全的做法。