redis string類型設置過期時間后 再進行set操作,會清除過期時間


版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/qq_41756437/article/details/86185604


redis的set操作實際上是: 刪除之前的key,再創建一個新的key,所以之前key就會被刪除連帶賦予的過期時間,

這時我們建議使用setrange 命令進行覆蓋操作,避免過期時間被刪除.

redis 的在線測試網址 (http://try.redis.io/  )

首先設置一個簡單的string類型key:

set key 123;

為他設置過期時間(在這里我使用的是expireat  unix時間戳以秒為單位)

expireat key 1547049599;

使用ttl 命令可以查看key的過期時間

ttl key;

使用setrange 命令(http://redisdoc.com/string/setrange.html)命令參考,這個命令有3個參數 ,分別表示(key值,覆蓋位置,覆蓋的值) 在這里我 直接從第0位開始覆蓋 覆蓋的新值為125

setrange key 0 125;

這時再查看過期時間是否還存在 ttl key ;查看新的值 是否發生改變 get key;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM