最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis通用命令介紹以及key的層級結構講解

 更新時間:2022年12月07日 08:45:24   作者:芝麻干  
這篇文章主要介紹了Redis通用命令以及key的層級結構,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧

1 Redis數(shù)據(jù)結構介紹

Redis是一個key-value的數(shù)據(jù)庫,key一般是String類型,不過value的類型多種多樣:

value的數(shù)據(jù)類型共有8種,前面5中為基本數(shù)據(jù)類型,后面3種是針對不同的情況指定的特殊數(shù)據(jù)類型。

命令不要死記,學會查詢就好啦

Redis為了方便我們學習,將操作不同數(shù)據(jù)類型的命令也做了分組,在官網(wǎng)( Commands | Redis)可以查看到不同的命令:(點擊COMMANDS)

當然我們也可以通過Help命令來幫助我們去查看命令

2 Redis通用命令

通用指令是部分數(shù)據(jù)類型的,都可以使用的指令,常見的有:

  • KEYS:查看符合模板的所有key
  • DEL:刪除一個指定的key
  • EXISTS:判斷key是否存在
  • EXPIRE:給一個key設置有效期,有效期到期時該key會被自動刪除
  • TTL:查看一個KEY的剩余有效期

通過help [command] 可以查看一個命令的具體用法,例如:

接下來演示上述常用命令的使用:

溫馨提示:以下的內容所有的代碼塊都是從命令行窗口復制過來的,包括命令和結果哦~

1.KEYS:查看符合模板的所有key

127.0.0.1:6379> keys *
1) "name"
2) "age"
127.0.0.1:6379>
# 查詢以a開頭的key
127.0.0.1:6379> keys a*
1) "age"
127.0.0.1:6379>

貼心小提示:在生產環(huán)境下,不推薦使用keys 命令,因為這個命令在key過多的情況下,效率不高

2.DEL:刪除一個指定的key

127.0.0.1:6379> help del
  DEL key [key ...]
  summary: Delete a key
  since: 1.0.0
  group: generic
127.0.0.1:6379> del name #刪除單個
(integer) 1  #成功刪除1個
127.0.0.1:6379> keys *
1) "age"
127.0.0.1:6379> MSET k1 v1 k2 v2 k3 v3 #批量添加數(shù)據(jù)
OK
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"
4) "age"
127.0.0.1:6379> del k1 k2 k3 k4
(integer) 3   #此處返回的是成功刪除的key,由于redis中只有k1,k2,k3 所以只成功刪除3個,最終返回
127.0.0.1:6379>
127.0.0.1:6379> keys * #再查詢全部的key
1) "age"    #只剩下一個了
127.0.0.1:6379>

貼心小提示:在拷貝代碼的時候,只需要拷貝對應的命令哦~

3.EXISTS:判斷key是否存在

127.0.0.1:6379> help EXISTS
  EXISTS key [key ...]
  summary: Determine if a key exists
  since: 1.0.0
  group: generic
127.0.0.1:6379> exists age
(integer) 1
127.0.0.1:6379> exists name
(integer) 0

4.EXPIRE:給一個key設置有效期,有效期到期時該key會被自動刪除

5.TTL:查看一個KEY的剩余的存活時間

127.0.0.1:6379> expire age 10
(integer) 1
127.0.0.1:6379> ttl age
(integer) 8
127.0.0.1:6379> ttl age
(integer) 6
127.0.0.1:6379> ttl age
(integer) -2
127.0.0.1:6379> ttl age
(integer) -2  #當這個key過期了,那么此時查詢出來就是-2 
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set age 10 #如果沒有設置過期時間
OK
127.0.0.1:6379> ttl age
(integer) -1  # ttl的返回值就是-1

貼心小提示:

(1)內存非常寶貴,對于一些數(shù)據(jù),我們應當給他一些過期時間,當過期時間到了之后,他就會自動被刪除~

(2)當使用TTL命令時,如果返回 -1 值,不是代表已經被銷毀,而是代表永久哦~

3 Redis命令-Key的層級結構

Redis沒有類似MySQL中的Table的概念,我們該如何區(qū)分不同類型的key呢?

例如,需要存儲用戶.商品信息到redis,有一個用戶id是1,有一個商品id恰好也是1,此時如果使用id作為key,那就會沖突了,該怎么辦?

我們可以通過給key添加前綴加以區(qū)分,不過這個前綴不是隨便加的,有一定的規(guī)范:

Redis的key允許有多個單詞形成層級結構,多個單詞之間用':'隔開,格式如下:

這個格式并非固定,也可以根據(jù)自己的需求來刪除或添加詞條。

這個格式并非固定,也可以根據(jù)自己的需求來刪除或添加詞條。

例如我們的項目名稱叫 heima,有user和product兩種不同類型的數(shù)據(jù),我們可以這樣定義key:

  • user相關的key:heima:user:1
  • product相關的key:heima:product:1

如果Value是一個Java對象,例如一個User對象,則可以將對象序列化為JSON字符串后存儲:

KEYVALUE
heima:user:1{"id":1, "name": "Jack", "age": 21}
heima:product:1{"id":1, "name": "小米11", "price": 4999}

一旦我們向redis采用這樣的方式存儲,那么在可視化界面中,redis會以層級結構來進行存儲,形成類似于這樣的結構,更加方便Redis獲取數(shù)據(jù)

到此這篇關于Redis通用命令介紹以及key的層級結構講解的文章就介紹到這了,更多相關Redis通用命令內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Redis中LFU算法的深入分析

    Redis中LFU算法的深入分析

    這篇文章主要給大家介紹了關于Redis中LFU算法的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • Windows系統(tǒng)一鍵啟動Redis腳本

    Windows系統(tǒng)一鍵啟動Redis腳本

    本文介紹了在Windows系統(tǒng)中創(chuàng)建一鍵啟動Redis的腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • redis實現(xiàn)分布式session的解決方案

    redis實現(xiàn)分布式session的解決方案

    session存放在服務器,關閉瀏覽器不會失效,本文主要介紹了redis實現(xiàn)分布式session的解決方案,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Redis之RedisTemplate配置方式(序列和反序列化)

    Redis之RedisTemplate配置方式(序列和反序列化)

    這篇文章主要介紹了Redis之RedisTemplate配置方式(序列和反序列化),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Redis數(shù)據(jù)庫的安裝配置方法

    Redis數(shù)據(jù)庫的安裝配置方法

    redis 是一個高性能的key-value數(shù)據(jù)庫。 redis的出現(xiàn),很大程度補償了memcached這類keyvalue存儲的不足,在部 分場合可以對關系數(shù)據(jù)庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便
    2014-06-06
  • 如何利用Redis?List實現(xiàn)Java數(shù)據(jù)庫分頁快速查詢

    如何利用Redis?List實現(xiàn)Java數(shù)據(jù)庫分頁快速查詢

    這篇文章主要給大家介紹了關于如何利用Redis?List實現(xiàn)Java數(shù)據(jù)庫分頁快速查詢的相關資料,Redis是一個高效的內存數(shù)據(jù)庫,它支持包括String、List、Set、SortedSet和Hash等數(shù)據(jù)類型的存儲,需要的朋友可以參考下
    2024-02-02
  • windows環(huán)境下Redis+Spring緩存實例講解

    windows環(huán)境下Redis+Spring緩存實例講解

    這篇文章主要為大家詳細介紹了windows環(huán)境下Redis+Spring緩存實例教程,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 徹底弄懂Redis的LRU淘汰策略

    徹底弄懂Redis的LRU淘汰策略

    本文主要介紹了LRU淘汰策略以及實現(xiàn)一個LRU算法,文章會結合圖解循序漸進的講解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 深入理解redis中multi與pipeline

    深入理解redis中multi與pipeline

    pipeline 只是把多個redis指令一起發(fā)出去,redis并沒有保證這些指定的執(zhí)行是原子的;multi相當于一個redis的transaction的,保證整個操作的原子性,避免由于中途出錯而導致最后產生的數(shù)據(jù)不一致。本文詳細的介紹,感興趣的可以了解一下
    2021-06-06
  • 使用Redis防止重復發(fā)送RabbitMQ消息的方法詳解

    使用Redis防止重復發(fā)送RabbitMQ消息的方法詳解

    今天遇到一個問題,發(fā)送MQ消息的時候需要保證不會重復發(fā)送,注意不是可靠到達,這里保證的是不會生產多條一樣的消息,所以本文主要介紹了使用Redis防止重復發(fā)送RabbitMQ消息的方法,需要的朋友可以參考下
    2025-01-01

最新評論

高雄县| 宁陕县| 富民县| 黎平县| 望城县| 腾冲县| 冷水江市| 邵阳市| 额济纳旗| 营山县| 河间市| 东明县| 安平县| 怀仁县| 广平县| 微博| 晋江市| 齐河县| 延津县| 钟祥市| 镇江市| 通化县| 罗城| 集安市| 桑日县| 郓城县| 平湖市| 遵义县| 伊金霍洛旗| 措勤县| 长宁区| 安化县| 龙山县| 淳化县| 元氏县| 静乐县| 九台市| 广饶县| 周宁县| 衡南县| 讷河市|