注意了,使用Memcahced 的時候,請不要把過期時間設置成超過30天
使用Memcahced進行緩存的時候,有個數據因為使用比較少,就像緩存的舊一些,把設置為一年,寫入緩存的時候返回true,但是使用該key去獲取的時候總是返回null,最後查手冊才發現,Memcahced過期時間不能超過30天。
關於Memcached 過期時間的詳細解釋:
- 過期時間是一個Unix 時間戳,也可以是一個從現在算起的以秒為單位的數字。
- 那麼怎麼判斷是Unix 時間戳還是一個從現在算起的以秒為單位的數字呢?小於60×60×24×30(30天時間的秒數),就算是從現在算起的以秒為單位的數字。如果大於服務端會將其作為一個真實的Unix時間戳來處理而不是自當前時間的偏移。
- 如果過期時間被設置為0(默認),此元素永不過期(但是它可能由於服務端為了給其他新的元素分配空間而被刪除)。
所以如果真的要設置一個key的過期時間為一年後,其值應該設置為:time()+60×60×24×365
。