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

Redis中的連接命令與鍵命令操作詳解

 更新時間:2024年09月23日 15:00:53   作者:陳橘又青  
Redis連接命令主要是用于客戶端與服務器建立連接的,Redis是一種流行的內存數據庫,支持多種數據結構,其中鍵命令是核心操作之一,在Redis中,鍵(Key)是用來存儲數據的主要元素,每個鍵都有一個唯一的名稱,本文給大家介紹了Redis中的連接命令與鍵命令操作

一、連接命令

ping

通常用于測試與服務器的連接是否仍然生效,或者用于測量延遲值。

如果連接正常就返回一個PONG ,否則返回一個連接錯誤。

127.0.0.1:6379> ping
PONG

echo m

打印一個特定的信息 m ,測試時使用。

127.0.0.1:6379> echo 'hello world'
"hello world"

select i

切換到指定的數據庫,數據庫索引號 i 用數字值指定,以 0 作為起始索引值。默認使用 0號數據庫。

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> 

案例:

在0號數據庫中設置鍵a為‘hello world’,在1號數據庫中調用

127.0.0.1:6379> set a 'hello world'
OK
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get a
(nil)

auth pword

開啟了密碼保護,在每次連接 Redis 服務器之后,就要使用auth命令解鎖,解鎖之后才能使用其他 Redis 命令。密碼匹配時返回 OK ,否則返回一個錯誤。

設置密碼

127.0.0.1:6379> config set requirepass redis123456
OK   #requirepass的值就是密碼
127.0.0.1:6379> quit

在次登錄

[root@localhost redis]# ./src/redis-cli
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth redis123456
OK
127.0.0.1:6379> ping
PONG

清空密碼

127.0.0.1:6379> config set requirepass “”
OK   #requirepass的值就是密碼
127.0.0.1:6379> quit

quit

請求服務器關閉與當前客戶端的連接??偸欠祷?OK (但是不會被打印顯示,因為當時 Redis-cli 已經退出)。

127.0.0.1:6379[1]> quit
[root@localhost redis]# 

二、鍵命令

set key value

將字符串值 value關聯到 key 。

127.0.0.1:6379> set key1 1  #傳入的都是字符串
OK

get key

返回 key所關聯的字符串值。如果 key 不存在那么返回特殊值 nil 。

127.0.0.1:6379> get key1
"1"

del key1 [key2 … keyn]

刪除給定的一個或多個 key 。沒有的key忽略,返回被刪除 key 的數量。

127.0.0.1:6379> del key1
(integer) 1

案例:

聲明key1,key2,key3,刪除key1,key2,key4

127.0.0.1:6379> set key1 1
OK
127.0.0.1:6379> set key2 1
OK
127.0.0.1:6379> set key3 1
OK
127.0.0.1:6379> del key1 key2 key4
(integer) 2

exists key

檢查給定 key 是否存在。若 key 存在,返回 1 ,否則返回 0 。

127.0.0.1:6379> exists key3
(integer) 1

type key

返回 key 所儲存的值的類型。none (key不存在)、string (字符串)、list (列表)、set (集合)、zset (有序集)、hash (哈希表)

127.0.0.1:6379> type key1
string

expire key seconds

為給定 key 設置生存時間,以秒為單位,當 key 過期時(生存時間為 0 ),它會被自動刪除。設置成功返回 1 。其他為0。

127.0.0.1:6379> expire key3 30
(integer) 1
127.0.0.1:6379> ttl key3  #查看有效時間
(integer) 24
127.0.0.1:6379> exists key3 #驗證是否存在
(integer) 0

pexpire key mseconds

這個命令和 EXPIRE 命令的作用類似,但是它以毫秒為單位設置 key 的生存時間,而不像 EXPIRE 命令那樣,以秒為單位。設置成功,返回 1。key不存在或設置失敗,返回0

127.0.0.1:6379> set key1 abc
OK
127.0.0.1:6379> pexpire key1 10000
(integer) 1
127.0.0.1:6379> ttl key1
(integer) 5
127.0.0.1:6379> pttl key1
(integer) 746

persist key

移除給定 key 的生存時間,將這個 key 從易失的轉換成持久的。當生存時間移除成功時,返回 1 .如果 key 不存在或 key 沒有設置生存時間,返回 0 。

127.0.0.1:6379> set zhangwu 1
OK
127.0.0.1:6379> persist zhangwu
(integer) 0
127.0.0.1:6379> expire zhangwu 30
(integer) 1
127.0.0.1:6379> persist zhangwu
(integer) 1
127.0.0.1:6379> ttl zhangwu
(integer) -1

ttl key

以秒為單位,返回給定 key 的剩余生存時間(TTL, time to live)。當 key 不存在時,返回 -2 。當 key 存在但沒有設置剩余生存時間時,返回 -1 。

127.0.0.1:6379> set key1 helloworld
OK
127.0.0.1:6379> ttl key1
(integer) -1
127.0.0.1:6379> expire key1 50
(integer) 1
127.0.0.1:6379> ttl key1
(integer) 44
127.0.0.1:6379> ttl key1
(integer) -2

pttl key

這個命令類似于 TTL 命令,但它以毫秒為單位返回 key 的剩余生存時間,而不是像 TTL 命令那樣,以秒為單位。當 key 不存在時,返回 -2 。當 key 存在但沒有設置剩余生存時間時,返回 -1 。

127.0.0.1:6379> pttl key1
(integer) -2
127.0.0.1:6379> set key1 abc
OK
127.0.0.1:6379> pexpire key1 30000
(integer) 1
127.0.0.1:6379> pttl key1
(integer) 27345

keys pattern

查找所有符合給定模式 pattern 的 key 。符合給定模式的 key 列表。

通配符

* 表示多個字符
? 表示一個字符
[] 表示只能是[]里面的字符
\ 表示指定特殊字符
127.0.0.1:6379> mset zhangsan 1 zhangsi 2 zhangwu 3
OK
127.0.0.1:6379> keys *
1) "zhangwu"
2) "zhangsan"
3) "zhangsi"
127.0.0.1:6379> keys ng*
(empty list or set)
127.0.0.1:6379> keys *ng*
1) "zhangwu"
2) "zhangsan"
3) "zhangsi"
127.0.0.1:6379> keys zhang??
1) "zhangwu"
2) "zhangsi"
127.0.0.1:6379> keys zha[ng]si
(empty list or set)
127.0.0.1:6379> keys zhan[ng]si
1) "zhangsi"

move key db

將當前數據庫的 key 移動到給定的數據庫 db 當中。移動成功返回 1 ,失敗則返回 0 。

127.0.0.1:6379> keys *
1) "zhangwu"
2) "zhangsan"
3) "zhangsi"
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> move zhangsan 1
(integer) 1
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "zhangsan"
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> keys *
1) "zhangwu"
2) "zhangsi"

注意:

key不存在時,移動失敗

key移動到1庫時,1庫中出現同名的key,移動失敗

random key

從當前數據庫中隨機返回(不刪除)一個 key 。當數據庫不為空時,返回一個 key 。當數據庫為空時,返回 nil 。

127.0.0.1:6379> randomkey
"zhangwu"
127.0.0.1:6379> randomkey
"key"
127.0.0.1:6379> randomkey
"key"
127.0.0.1:6379> randomkey
"zhangwu"

rename key newkey

將 key 改名為 newkey 。改名成功時提示 OK ,失敗時候返回一個錯誤。

127.0.0.1:6379> rename key key1
OK
127.0.0.1:6379> keys *
1) "key1"
2) "zhangwu"
3) "zhangsi"

注意:

當 key 和 newkey 相同,或者 key 不存在時,返回一個錯誤。

當 newkey 已經存在時, RENAME 命令將覆蓋舊值。

renamenx key newkey

當且僅當 newkey 不存在時,將 key 改名為 newkey 。修改成功時,返回 1 。如果 newkey 已經存在,返回 0 。

127.0.0.1:6379> renamenx zhangsi zhangwu
(integer) 0
127.0.0.1:6379> renamenx zhangsi zhangsan
(integer) 1
127.0.0.1:6379> keys *
1) "zhangsan"
2) "key1"
3) "zhangwu"

以上就是Redis中的連接命令與鍵命令操作詳解的詳細內容,更多關于Redis連接命令與鍵命令的資料請關注腳本之家其它相關文章!

相關文章

  • RabbitMQ+redis+Redisson分布式鎖+seata實現訂單服務的流程分析

    RabbitMQ+redis+Redisson分布式鎖+seata實現訂單服務的流程分析

    訂單服務涉及許多方面,分布式事務,分布式鎖,例如訂單超時未支付要取消訂單,訂單如何防止重復提交,如何防止超賣、這里都會使用到,這篇文章主要介紹了RabbitMQ+redis+Redisson分布式鎖+seata實現訂單服務的流程分析,需要的朋友可以參考下
    2024-07-07
  • redis分布式鎖的8大坑總結梳理

    redis分布式鎖的8大坑總結梳理

    這篇文章主要介紹了redis分布式鎖的8大坑總結梳理,使用redis的分布式鎖,我們首先想到的可能是setNx命令,文章圍繞setNx命令展開詳細的內容介紹,感興趣的小伙伴可以參考一下
    2022-07-07
  • 深入理解Redis內存回收和內存淘汰機制

    深入理解Redis內存回收和內存淘汰機制

    Redis使用多種過期策略和內存淘汰機制來管理內存,本文主要介紹了深入理解Redis內存回收和內存淘汰機制, 具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Redis中的zset類型詳解

    Redis中的zset類型詳解

    有序集合zset保留了set集合不能有重復成員的特點,但與set集合不同的是,zset的每個member都有一個唯一的浮點數類型的分數score與之關聯,這篇文章主要介紹了Redis的zset類型,需要的朋友可以參考下
    2023-08-08
  • Redis數據過期策略的實現詳解

    Redis數據過期策略的實現詳解

    最近項目當中遇到一個需求場景,需要清空一些存放在Redis的數據,本文對Redis的過期機制簡單的講解一下,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 基于redis 7.2.3的makefile源碼解讀學習

    基于redis 7.2.3的makefile源碼解讀學習

    這篇文章主要為大家介紹了基于redis 7.2.3的makefile源碼解讀學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Redis的5種數據類型與常用命令講解

    Redis的5種數據類型與常用命令講解

    今天小編就為大家分享一篇關于Redis的5種數據類型與常用命令講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 基于Redis實現分布式鎖的三種方式

    基于Redis實現分布式鎖的三種方式

    在現代分布式系統(tǒng)中,多個節(jié)點同時操作共享資源是常見的情況,因此,分布式鎖成為了確保分布式系統(tǒng)中各節(jié)點協調一致、避免資源沖突的一個重要工具,本文將介紹三種常用的分布式鎖實現方式,需要的朋友可以參考下
    2026-02-02
  • Redis基于Session實現分布式登錄的示例代碼

    Redis基于Session實現分布式登錄的示例代碼

    本文主要介紹了Redis基于Session實現分布式登錄的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-08-08
  • Redis+Caffeine實現高效兩級緩存架構的詳細指南

    Redis+Caffeine實現高效兩級緩存架構的詳細指南

    在現代高并發(fā)系統(tǒng)中,緩存是提升系統(tǒng)性能的關鍵組件之一,本文將介紹如何結合 Redis 和 Caffeine 構建一個高效的兩級緩存系統(tǒng),需要的小伙伴可以了解下
    2025-07-07

最新評論

永嘉县| 灵武市| 历史| 海阳市| 澄城县| 兰州市| 梅河口市| 确山县| 尼玛县| 翁牛特旗| 贵定县| 民乐县| 怀化市| 灵宝市| 通辽市| 万盛区| 高雄县| 盖州市| 南川市| 安达市| 巴塘县| 五台县| 资源县| 巧家县| 浮梁县| 万全县| 靖江市| 冷水江市| 曲周县| 大安市| 石渠县| 囊谦县| 新竹县| 余姚市| 鹿泉市| 深泽县| 屯门区| 长春市| 贡山| 犍为县| 章丘市|