介紹
Redis是一個開源的內(nèi)存中鍵值數(shù)據(jù)存儲。默認(rèn)情況下,Redis密鑰是永久性的,這意味著Redis服務(wù)器將繼續(xù)存儲它們,除非手動將其刪除。但是,在某些情況下,您已經(jīng)設(shè)置了密鑰,但是您知道要在經(jīng)過一定時間后才將其刪除。換句話說,您希望密鑰是可變的。本教程說明了如何設(shè)置密鑰的過期時間,如何檢查直到密鑰過期的剩余時間以及取消密鑰的過期設(shè)置。
如何使用本指南
本指南以備有完整示例的備忘單形式編寫。我們鼓勵您跳至與您要完成的任務(wù)相關(guān)的任何部分。
本指南中顯示的命令已在運(yùn)行Redis版本4.0.9的Ubuntu 18.04服務(wù)器上進(jìn)行了測試。要設(shè)置類似的環(huán)境,您可以按照我們的指南如何在Ubuntu 18.04上安裝和保護(hù)Redis的步驟1進(jìn)行操作。我們將通過使用Redis命令行界面運(yùn)行它們來演示這些命令的行為。請注意,如果您使用其他Redis界面(例如Redli),則某些命令的確切輸出可能會有所不同。 redis-cli
另外,您可以提供一個托管的Redis數(shù)據(jù)庫實(shí)例來測試這些命令,但是請注意,根據(jù)數(shù)據(jù)庫提供者所允許的控制級別,本指南中的某些命令可能無法按所述方式工作。要配置DigitalOcean托管數(shù)據(jù)庫,請遵循我們的托管數(shù)據(jù)庫產(chǎn)品文檔。然后,您必須 安裝Redli 或 設(shè)置TLS隧道才能通過TLS連接到托管數(shù)據(jù)庫。
Setting Keys to Expire
您可以使用expire命令設(shè)置現(xiàn)有密鑰的過期時間,該命令將密鑰名稱和直到過期的秒數(shù)作為參數(shù)。為了證明這一點(diǎn),請運(yùn)行以下兩個命令。第一創(chuàng)建名為字符串鍵key_melon具有值"cantaloupe",而第二組它到450秒之后超時:
set key_melon "cantaloupe"
expire key_melon 450
如果成功設(shè)置了超時,則expire命令將返回(integer) 1。如果設(shè)置超時失敗,它將返回(integer) 0。
或者,您可以使用該expireat命令將密鑰設(shè)置為在特定的時間點(diǎn)過期。它使用Unix時間戳作為參數(shù),而不是到期前的秒數(shù)。Unix時間戳是自Unix紀(jì)元(即1970年1月1日UTC 00:00:00)以來的秒數(shù)??梢允褂迷S多在線工具來查找特定日期和時間的Unix時間戳,例如EpochConverter或UnixTimestamp.com。
例如,要設(shè)置key_melon為在2025年5月1日格林尼治標(biāo)準(zhǔn)時間晚上8:30到期(以Unix timestamp表示1746131400),可以使用以下命令:
expireat key_melon 1746131400
請注意,如果傳遞給您的時間戳expireat已經(jīng)發(fā)生,它將立即刪除密鑰。
Checking How Long Until a Key Expires
你設(shè)置一鍵到期任何時候,你可以檢查剩余到期為止(以秒為單位)的時候ttl,它的全稱是“ 牛逼 IME 牛逼 ? 升香港專業(yè)教育學(xué)院”:
ttl key_melon
Output(integer) 433
有關(guān)更詳細(xì)的信息,可以運(yùn)行pttl,它將返回直到密鑰過期的時間(以毫秒為單位):
pttl key_melon
Output(integer) 431506
如果密鑰尚未設(shè)置為過期且密鑰不存在,則兩者ttl和pttl都將返回。(integer) -1``(integer) -2
Persisting Keys
如果密鑰已設(shè)置為過期,則任何覆蓋密鑰內(nèi)容的命令(例如set或getset)都會清除密鑰的超時值。要手動清除鍵的超時,請使用以下persist命令:
persist key_melon
如果成功完成,該persist命令將返回(integer) 1,表明密鑰將不再過期。
Conclusion
本指南詳細(xì)介紹了用于在Redis中操作和檢查鍵持久性的許多命令。如果您想在本指南中概述其他相關(guān)的命令,參數(shù)或過程,請?jiān)谙旅娴脑u論中提出疑問或提出建議。
有關(guān)Redis命令的更多信息,請參閱關(guān)于如何管理Redis數(shù)據(jù)庫的系列教程。
- 如何在ubuntu18.04上安裝和保護(hù)redis
- 如何連接到Redis數(shù)據(jù)庫
- 如何管理Redis數(shù)據(jù)庫和Keys
- 如何在Redis中管理副本和客戶端
- 如何在Redis中管理字符串
- 如何在Redis中管理list
- 如何在Redis中管理Hashes
- 如何在Redis中管理Sets
- 如何在Redis中管理Sorted Sets
- 如何在Redis中運(yùn)行事務(wù)
- 如何使Redis中的Key失效
- 如何解決Redis中的問題
- 如何從命令行更改Redis的配置
-
Redis數(shù)據(jù)類型簡介
作者:分布式編程
出處:https://zthinker.com/
如果你喜歡本文,請長按二維碼,關(guān)注 分布式編程
.分布式編程
