日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis:05---键的基本命令(下) 生存周期

發(fā)布時間:2023/12/13 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis:05---键的基本命令(下) 生存周期 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、設(shè)置鍵生存/過期時間

  • 生存時間(Time To Live,TTL):在經(jīng)過指定的秒數(shù)或者毫秒數(shù)之后,服務(wù)器就會自動刪除生存時間為0的鍵

  • 過期時間(expire time):是一個UNIX時間戳,當(dāng)鍵的過期時間來臨時,服務(wù)器就會自動從數(shù)據(jù)庫中刪除這個鍵

設(shè)置生存時間

  • EXPIRE <key> <ttl>:用于將鍵key的生存時間設(shè)置為ttl秒

  • PEXPIRE <key> <ttl>:用于將鍵key的生存時間設(shè)置為ttl毫秒

設(shè)置過期時間

  • EXPIREAT <key> <timestamp>:用于將鍵key的過期時間設(shè)置為timestamp所指定的秒數(shù)時間戳

  • PEXPIREAT <key> <timestamp>:用于將鍵key的過期時間設(shè)置為timestamp所指定的毫秒數(shù)時間戳

  • EXPIRE、PEXPIRE、EXPIREAT這幾個命令的內(nèi)部最終使用的都是PEXPIREAT

注意事項

  • ①如果expire的鍵不存在,則命令返回0。例如:

  • ②如果將過期時間設(shè)置為負值,那么該鍵會被立即刪除。例如:

  • ③Redis不支持二級數(shù)據(jù)結(jié)構(gòu)(例如哈希、列表)內(nèi)部元素的過期功能,例如可以對列表的key做過期時間,但不能對列表類型的一個元素(value)設(shè)置過期時間。例如,下面有一個my_list列表,其含有元素“hello、world、redis”

字符串類型鍵的注意事項

  • 對于字符串類型鍵的注意事項,執(zhí)行SET命令會去掉過期時間

  • 在Redis源碼中,SET命令的函數(shù)setKey()最后執(zhí)行了removeExpire(db, key)函數(shù)去掉了過期時間。

  • 演示案例:

二、查詢鍵的剩余生存時間

  • TTL命令以秒為單位返回鍵的剩余生存時間

  • PTTL命令則以毫秒為單位返回鍵的剩余生存時間

  • 命令返回值:

    • 鍵未過期:ttl返回鍵的剩余秒數(shù),pttl返回鍵的剩余毫秒數(shù)

    • 鍵沒有設(shè)置過期時間:返回-1

    • 鍵不存在:返回-2

演示案例

三、移除過期時間

  • PERSIST命令可以移除一個鍵的過期時間

演示案例

四、附加SETEX命令

  • SETEX命令可以在設(shè)置一個字符串鍵的同時為鍵設(shè)置過期時間,其實set+expire的組合,是一個原子操作,并且減少了一次網(wǎng)絡(luò)通訊的時間

  • 格式如下:

SETEX key seconds value

演示案例

  • 下面設(shè)置一個鍵名為hello,其過期時間為50秒,鍵值為world

總結(jié)

以上是生活随笔為你收集整理的Redis:05---键的基本命令(下) 生存周期的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。