<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## 生存時間 Redis中可以使用expire命令設置一個鍵的生存時間,到時間后redis會自動刪除它。 expire 設置生存時間(單位/秒) expire key seconds(秒) persist 取消生存時間 persist key ## Redis中key的過期淘汰機制 Redis可以對存儲在Redis中的緩存數據設置過期時間,比如我們獲取的短信驗證碼一般十分鐘過期,我們這時候就需要在驗證碼存進Redis時添加一個key的過期時間,但是這里有一個需要格外注意的問題就是:并非key過期時間到了就一定會被Redis給刪除。那么Redis是如何做到對過期key進行刪除呢?Redis中對于過期key的刪除分為兩種策略:定期刪除和惰性刪除。 * 定期刪除:Redis 默認是每隔 100ms 就隨機抽取一些設置了過期時間的 Key,檢查其是否過期,如果過期就刪除。為什么是隨機抽取而不是檢查所有key?因為你如果設置的key成千上萬,每100毫秒都將所有存在的key檢查一遍,會給CPU帶來比較大的壓力。 * 惰性刪除 :定期刪除由于是隨機抽取可能會導致很多過期 Key 到了過期時間并沒有被刪除。所以用戶在從緩存獲取數據的時候,redis會檢查這個key是否過期了,如果過期就刪除這個key。這時候就會在查詢的時候將過期key從緩存中清除。 但是如果僅僅使用定期刪除 + 惰性刪除機制還是會留下一個嚴重的隱患:如果定期刪除留下了很多已經過期的key,而且用戶長時間都沒有使用過這些過期key,導致過期key無法被惰性刪除,從而導致過期key一直堆積在內存里,最終造成Redis內存塊被消耗殆盡。那這個問題如何解決呢?這個時候Redis內存淘汰機制應運而生了。Redis內存淘汰機制提供了6種數據淘汰策略: * volatile-lru:從已設置過期時間的數據集中挑選最近最少使用的數據淘汰。 * volatile-ttl:從已設置過期時間的數據集中挑選將要過期的數據淘汰。 * volatile-random:從已設置過期時間的數據集中任意選擇數據淘汰。 * allkeys-lru:當內存不足以容納新寫入數據時移除最近最少使用的key。 * allkeys-random:從數據集中任意選擇數據淘汰。 * no-enviction:當內存不足以容納新寫入數據時,新寫入操作會報錯。 一般情況下,推薦使用volatile-lru策略,對于配置信息等重要數據,不應該設置過期時間,這樣Redis就永遠不會淘汰這些重要數據。對于一般數據可以添加一個緩存時間,當數據失效則請求會從DB中獲取并重新存入Redis中。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看