當前位置:編程學習大全網 - 熱門推薦 - Redis 面試寶典之 Redis 如何處理已經過期的數據?

Redis 面試寶典之 Redis 如何處理已經過期的數據?

本文講的是 Redis 的鍵值過期之後的 數據處理 ,講的是正常情況下的 數據清理 ,但面試者常常會把兩個概念搞混,以至於和期望的工作失之交臂。我們本文的職責之壹就是幫讀者朋友搞清楚二者的區別,相信看完本文妳就會對二者的概念有壹個本質上的認識。

我們本文的面試題是,Redis 如何處理已過期的數據?

在 Redis 中維護了壹個過期字典,會將所有已經設置了過期時間的鍵值全部存儲到此字典中,例如我們使用設置過期時間的命令時,命令如下:

此命令表示 5s 之後鍵值為 mykey:java 的數據將會過期,其中 ex 是 expire 的縮寫,也就是過期、到期的意思。

過期時間除了上面的那種字符類型的直接設置之外,還可以使用 expire key seconds 的方式直接設置,示例如下:

獲取鍵值的執行流程是,當有鍵值的訪問請求時 Redis 會先判斷此鍵值是否在過期字典中,如果沒有表示鍵值沒有設置過期時間(永不過期),然後就可以正常返回鍵值數據了;如果此鍵值在過期字典中則會判斷當前時間是否小於過期時間,如果小於則說明此鍵值沒有過期可以正常返回數據,反之則表示數據已過期,會刪除此鍵值並且返回給客戶端 nil ,執行流程如下圖所示:

這是鍵值數據的方法流程,同時也是過期鍵值的判斷和刪除的流程。

本文的面試題考察的是妳對 Redis 的過期刪除策略的掌握,在 Redis 中為了平衡空間占用和 Redis 的執行效率,采用了兩種刪除策略,上面的回答不完全對,因為他只回答出了壹種過期鍵的刪除策略,和此知識點相關的面試題還有以下這些:

常見的過期策略,有以下三種:

  • 上一篇:教練車和普通車有哪些區別
  • 下一篇:win7 BlueStacks安卓模擬器 安裝的APP安裝在哪
  • copyright 2024編程學習大全網