Redis 如何处理已经过期的数据?
生活随笔
收集整理的這篇文章主要介紹了
Redis 如何处理已经过期的数据?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇我們講了 Redis 內存用完之后的內存淘汰策略,它主要是用來出來異常情況下的數據清理,而本文講的是 Redis 的鍵值過期之后的數據處理,講的是正常情況下的數據清理,但面試者常常會把兩個概念搞混,以至于和期望的工作失之交臂。我們本文的職責之一就是幫讀者朋友搞清楚二者的區別,相信看完本文你就會對二者的概念有一個本質上的認識。
我們本文的面試題是,Redis 如何處理已過期的數據?
典型回答
在 Redis 中維護了一個過期字典,會將所有已經設置了過期時間的鍵值全部存儲到此字典中,例如我們使用設置過期時間的命令時,命令如下:
127.0.0.1:6379> set mykey java ex 5 OK此命令表示 5s 之后鍵值為 mykey:java 的數據將會過期,其中 ex 是 expire 的縮寫,也就是過期、到期的意思。
過期時間除了上面的那種字符類型的直接設置之外,還可以使用 expire key seconds 的方式直接設置,示例如下:
127.0.0.1:6379> set key value OK 127.0.0.1:6379> expire key 100 # 設置 100s 后過期 (integer) 1獲取鍵值的執行流程是,當有鍵值的訪問請求時 Redis 會先判斷此鍵值是否在過期字典中,如果沒有表示鍵值沒有設置過期時間(永不過期),然后就可以正常返回鍵值數據了;如果此鍵值在過期字典中則會判斷當前時間是否小于過期時間,如果小于則說明此鍵值沒有過期可以正常返回數據,反
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Redis 如何处理已经过期的数据?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 磊哥最近面试了好多人,聊聊我的感受!(附
- 下一篇: ReactNative布局样式总结