<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # EXPIRE **EXPIRE key seconds** 為給定 `key` 設置生存時間,當 `key` 過期時(生存時間為 `0` ),它會被自動刪除。 在 Redis 中,帶有生存時間的 `key` 被稱為『易失的』(volatile)。 生存時間可以通過使用 [_DEL_](del.html#del) 命令來刪除整個 `key` 來移除,或者被 [_SET_](../string/set.html#set) 和 [_GETSET_](../string/getset.html#getset) 命令覆寫(overwrite),這意味著,如果一個命令只是修改(alter)一個帶生存時間的 `key` 的值而不是用一個新的 `key` 值來代替(replace)它的話,那么生存時間不會被改變。 比如說,對一個 `key` 執行 [_INCR_](../string/incr.html#incr) 命令,對一個列表進行 [_LPUSH_](../list/lpush.html#lpush) 命令,或者對一個哈希表執行 [_HSET_](../hash/hset.html#hset) 命令,這類操作都不會修改 `key` 本身的生存時間。 另一方面,如果使用 [_RENAME_](rename.html) 對一個 `key` 進行改名,那么改名后的 `key` 的生存時間和改名前一樣。 [_RENAME_](rename.html) 命令的另一種可能是,嘗試將一個帶生存時間的 `key` 改名成另一個帶生存時間的 `another_key` ,這時舊的 `another_key` (以及它的生存時間)會被刪除,然后舊的 `key` 會改名為 `another_key` ,因此,新的 `another_key` 的生存時間也和原本的 `key` 一樣。 使用 [_PERSIST_](persist.html) 命令可以在不刪除 `key` 的情況下,移除 `key` 的生存時間,讓 `key` 重新成為一個『持久的』(persistent) `key` 。 **更新生存時間** 可以對一個已經帶有生存時間的 `key` 執行 [_EXPIRE_](#expire) 命令,新指定的生存時間會取代舊的生存時間。 **過期時間的精確度** 在 Redis 2.4 版本中,過期時間的延遲在 1 秒鐘之內 —— 也即是,就算 `key` 已經過期,但它還是可能在過期之后一秒鐘之內被訪問到,而在新的 Redis 2.6 版本中,延遲被降低到 1 毫秒之內。 **Redis 2.1.3 之前的不同之處** 在 Redis 2.1.3 之前的版本中,修改一個帶有生存時間的 `key` 會導致整個 `key` 被刪除,這一行為是受當時復制(replication)層的限制而作出的,現在這一限制已經被修復。 **可用版本:** &gt;= 1.0.0 **時間復雜度:** O(1) **返回值:** 設置成功返回 `1` 。當 `key` 不存在或者不能為 `key` 設置生存時間時(比如在低于 2.1.3 版本的 Redis 中你嘗試更新 `key` 的生存時間),返回 `0` 。 ``` redis> SET cache_page "www.google.com" OK redis> EXPIRE cache_page 30 # 設置過期時間為 30 秒 (integer) 1 redis> TTL cache_page # 查看剩余生存時間 (integer) 23 redis> EXPIRE cache_page 30000 # 更新過期時間 (integer) 1 redis> TTL cache_page (integer) 29996 ``` ## 模式:導航會話 假設你有一項 web 服務,打算根據用戶最近訪問的 N 個頁面來進行物品推薦,并且假設用戶停止閱覽超過 60 秒,那么就清空閱覽記錄(為了減少物品推薦的計算量,并且保持推薦物品的新鮮度)。 這些最近訪問的頁面記錄,我們稱之為『導航會話』(Navigation session),可以用 [_INCR_](../string/incr.html#incr) 和 [_RPUSH_](../list/rpush.html#rpush) 命令在 Redis 中實現它:每當用戶閱覽一個網頁的時候,執行以下代碼: ``` MULTI RPUSH pagewviews.user:<userid> http://..... EXPIRE pagewviews.user:<userid> 60 EXEC ``` 如果用戶停止閱覽超過 60 秒,那么它的導航會話就會被清空,當用戶重新開始閱覽的時候,系統又會重新記錄導航會話,繼續進行物品推薦。
                  <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>

                              哎呀哎呀视频在线观看