自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Redis常用操作命令整理

數(shù)據(jù)庫(kù) Redis
Redis它支持多種數(shù)據(jù)結(jié)構(gòu),包括字符串、哈希表、列表、集合和有序集合。

Redis(Remote Dictionary Server)是一個(gè)開(kāi)源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng),常被用作數(shù)據(jù)庫(kù)、緩存和消息隊(duì)列等。它支持多種數(shù)據(jù)結(jié)構(gòu),包括字符串、哈希表、列表、集合和有序集合。以下是 Redis 的一些常見(jiàn)操作:

連接 Redis

可以使用 redis-cli 命令連接到 Redis 服務(wù)器。例如:

redis-cli -h host -p port -a password

其中 host 是 Redis 服務(wù)器的主機(jī)名,port 是 Redis 服務(wù)器的端口號(hào),password 是連接密碼(如果有)。

操作String(字符串)類型

1、設(shè)置鍵值

要設(shè)置一個(gè)鍵值對(duì),請(qǐng)使用SET命令。例如,要將鍵“name”設(shè)置為值“ctt”,可以執(zhí)行以下操作:

127.0.0.1:6379> SET name  ctt

2、獲取鍵值

要獲取鍵值,請(qǐng)使用GET命令。例如,要獲取鍵“name”的值,可以執(zhí)行以下操作:

127.0.0.1:6379> GET name

這將返回鍵“name”的值,“ctt”。

3、設(shè)置過(guò)期時(shí)間

要為一個(gè)鍵設(shè)置過(guò)期時(shí)間,請(qǐng)使用EXPIRE命令。例如,要將鍵“name”的過(guò)期時(shí)間設(shè)置為60秒,可以執(zhí)行以下操作:

127.0.0.1:6379> EXPIRE name 60

查看過(guò)期指定key的過(guò)期時(shí)間,可以用TTL命令。

127.0.0.1:6379> TTL  name

返回的結(jié)果便是剩余時(shí)間(到期key會(huì)自動(dòng)刪除[目前先這么認(rèn)為,不同版本的不同角色處理有差異]),如果返回-1,則表示無(wú)過(guò)期時(shí)間

4、判斷鍵是否存在

要檢查一個(gè)鍵是否存在,請(qǐng)使用EXISTS命令。例如,要檢查鍵“name”是否存在,可以執(zhí)行以下操作:

127.0.0.1:6379> EXISTS name

如果鍵存在,則返回1;如果鍵不存在,則返回0。

也可以使用TYPE命令。

127.0.0.1:6379> TYPE name

返回對(duì)應(yīng)的類型(如,string)則說(shuō)明key存在,返回“none”說(shuō)明key不存在。

還可以用TTL命令判斷。

127.0.0.1:6379> TTL name

返回對(duì)應(yīng)的時(shí)間(>=0的數(shù)字),則說(shuō)明key存在,對(duì)應(yīng)的數(shù)字為剩余過(guò)期時(shí)間。

返回-1,則說(shuō)明key存在,且key無(wú)過(guò)期時(shí)間。

返回-2,則說(shuō)明key不存在。

5、刪除鍵

要?jiǎng)h除一個(gè)鍵,請(qǐng)使用DEL命令。例如,要?jiǎng)h除鍵“name”,可以執(zhí)行以下操作:

127.0.0.1:6379> DEL aaa

6、自增/自減操作

要對(duì)一個(gè)鍵進(jìn)行自增操作,請(qǐng)使用INCR命令。例如,要將鍵“cnt”自增1,可以執(zhí)行以下操作:

127.0.0.1:6379> INCR cnt

類似地,要對(duì)一個(gè)鍵進(jìn)行自減操作,請(qǐng)使用DECR命令。

操作哈希表(Hash類型)

Redis中的Hash類型是一個(gè)鍵值對(duì)的集合,其中每個(gè)鍵都映射到一個(gè)值。下面是Redis中Hash類型的常見(jiàn)操作:

1、設(shè)置Hash值

要設(shè)置一個(gè)Hash值,請(qǐng)使用HSET命令。例如,要將“user”哈希中的“name”字段設(shè)置為“ctt”,"age "字段設(shè)置為 “29” 可以執(zhí)行以下操作:

rubyCopy code127.0.0.1:6379> HSET user name "John Doe"

2、獲取Hash值

要獲取一個(gè)Hash值,請(qǐng)使用HGET命令。例如,要獲取“user”哈希中的“name”字段的值,可以執(zhí)行以下操作:

127.0.0.1:6379> HGET user name

這將返回“ctt”。

3、獲取所有Hash值

要獲取所有的Hash值,請(qǐng)使用HGETALL命令。例如,要獲取“user”哈希中所有的鍵值對(duì),可以執(zhí)行以下操作:

127.0.0.1:6379> HGETALL user

這將返回一個(gè)包含所有鍵值對(duì)的列表。

4、刪除Hash值

要?jiǎng)h除一個(gè)Hash值,請(qǐng)使用HDEL命令。例如,要?jiǎng)h除“user”哈希中的age字段,可以執(zhí)行以下操作:

127.0.0.1:6379> HDEL user age

5、檢查Hash值是否存在

要檢查一個(gè)Hash值是否存在,請(qǐng)使用HEXISTS命令。例如,要檢查“user”哈希中是否存在“name”字段,可以執(zhí)行以下操作:

127.0.0.1:6379> HEXISTS user name

如果存在,將返回1;否則返回0。

6、獲取Hash中所有的鍵

要獲取一個(gè)Hash中所有的鍵,請(qǐng)使用HKEYS命令。例如,要獲取“user”哈希中的所有鍵,可以執(zhí)行以下操作:

127.0.0.1:6379> HKEYS user

這將返回一個(gè)包含所有鍵的列表。

7、獲取Hash中所有的值

要獲取一個(gè)Hash中所有的值,請(qǐng)使用HVALS命令。例如,要獲取“user”哈希中的所有值,可以執(zhí)行以下操作:

127.0.0.1:6379> HVALS user

這將返回一個(gè)包含所有值的列表。

操作列表(list類型)

Redis中的List類型是一個(gè)鏈表結(jié)構(gòu),其中每個(gè)節(jié)點(diǎn)都包含一個(gè)字符串值。下面是Redis中List類型的常見(jiàn)操作:

1、在列表的頭部插入元素

要在列表的頭部插入元素,請(qǐng)使用LPUSH命令。例如,要在名為“mylist”的列表的頭部插入值為“ctt”的元素,可以執(zhí)行以下操作:

127.0.0.1:6379> LPUSH mylist ctt

2、在列表的尾部插入元素

要在列表的尾部插入元素,請(qǐng)使用RPUSH命令。例如,要在名為“mylist”的列表的尾部插入值為“ccc”的元素,可以執(zhí)行以下操作:

127.0.0.1:6379> RPUSH mylist ccc

3、獲取列表長(zhǎng)度

要獲取列表的長(zhǎng)度,請(qǐng)使用LLEN命令。例如,要獲取名為“mylist”的列表的長(zhǎng)度,可以執(zhí)行以下操作:

127.0.0.1:6379> LLEN mylist

這將返回列表的長(zhǎng)度。

4、獲取列表中的元素

要獲取列表中的元素,請(qǐng)使用LINDEX命令。例如,要獲取名為“mylist”的列表中的第一個(gè)元素,可以執(zhí)行以下操作:

127.0.0.1:6379> LINDEX mylist 0

5、獲取列表的范圍

要獲取列表的一部分,請(qǐng)使用LRANGE命令。例如,要獲取名為“mylist”的列表中從第二個(gè)到第四個(gè)元素之間的元素,可以執(zhí)行以下操作:

127.0.0.1:6379> LRANGE mylist 1 3

這將返回一個(gè)包含第二個(gè)到第四個(gè)元素之間的所有元素的列表。

6、刪除列表中的元素

要?jiǎng)h除列表中的元素,請(qǐng)使用LREM命令。例如,要?jiǎng)h除名為“mylist”的列表中的所有值為“ccc”的元素,可以執(zhí)行以下操作:

127.0.0.1:6379> LREM mylist 0 ccc

7、彈出列表中的元素

要從列表的頭部或尾部彈出元素,請(qǐng)使用LPOP或RPOP命令。例如,要從名為“mylist”的列表的頭部彈出一個(gè)元素,可以執(zhí)行以下操作:

127.0.0.1:6379> LPOP mylist

這將彈出并返回列表的第一個(gè)元素。

彈出最后一個(gè)元素,使用RPOP

8、獲取所有元素

取出一個(gè)列表里的所有元素,可以執(zhí)行以下操作:

127.0.0.1:6379> LRANGE  mylist 0 -1

無(wú)序集合(set類型)操作

Redis中的Set類型是一個(gè)無(wú)序的、不重復(fù)的字符串集合。下面是Redis中Set類型的常見(jiàn)操作:

1、向集合中添加元素

要向集合中添加元素,請(qǐng)使用SADD命令。例如,要將值為“ctt”的元素添加到名為“myset”的集合中,可以執(zhí)行以下操作:

127.0.0.1:6379> SADD myset ctt

2、獲取集合中的元素?cái)?shù)量

要獲取集合中的元素?cái)?shù)量,請(qǐng)使用SCARD命令。例如,要獲取名為“myset”的集合中的元素?cái)?shù)量,可以執(zhí)行以下操作:

127.0.0.1:6379> SCARD myset

3、獲取集合中的所有元素

要獲取集合中的所有元素,請(qǐng)使用SMEMBERS命令。例如,要獲取名為“myset”的集合中的所有元素,可以執(zhí)行以下操作:

127.0.0.1:6379> SMEMBERS myset

這將返回一個(gè)包含所有元素的列表。

4、判斷元素是否在集合中存在

要判斷一個(gè)元素是否在集合中存在,請(qǐng)使用SISMEMBER命令。例如,要判斷值為“ctt”的元素是否存在于名為“myset”的集合中,可以執(zhí)行以下操作:

127.0.0.1:6379> SISMEMBER myset ctt

如果元素存在于集合中,則返回1;否則返回0。

5、從集合中刪除元素

要從集合中刪除元素,請(qǐng)使用SREM命令。例如,要?jiǎng)h除名為“myset”的集合中值為“ctt2”的元素,可以執(zhí)行以下操作:

127.0.0.1:6379> SREM myset ctt2

6、求多個(gè)集合的交集、并集或差集

要求多個(gè)集合的交集,請(qǐng)使用SINTER命令;要求并集,請(qǐng)使用SUNION命令;要求差集,請(qǐng)使用SDIFF命令。例如,假設(shè)有三個(gè)集合“set1”、“set2”和“set3”,要求它們的交集,可以執(zhí)行以下操作:

127.0.0.1:6379> SINTER set1 set2 set3
127.0.0.1:6379> SUNION set1 set2 set3

這將返回一個(gè)包含所有集合的交集&并集元素的列表。

這些是Redis中Set類型的一些常見(jiàn)操作。Set類型是一個(gè)非常有用的數(shù)據(jù)結(jié)構(gòu),可用于存儲(chǔ)和處理多個(gè)相關(guān)但不重復(fù)的元素。

有序集合(ZSET類型)操作

Redis中的有序集合(Sorted Set,簡(jiǎn)稱ZSet)是一個(gè)非常有用的數(shù)據(jù)結(jié)構(gòu),它類似于Set類型,但是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)分?jǐn)?shù)(score),且元素按照分?jǐn)?shù)從小到大進(jìn)行排序。下面是Redis中ZSet類型的常見(jiàn)操作:

1、向有序集合中添加元素

要向有序集合中添加元素,請(qǐng)使用ZADD命令。例如,要將值為“ctt”的元素添加到名為“myzset”的有序集合中,且它的分?jǐn)?shù)為100,可以執(zhí)行以下操作:

127.0.0.1:6379> ZADD myzset 100 ctt

2、獲取有序集合中的元素?cái)?shù)量

要獲取有序集合中的元素?cái)?shù)量,請(qǐng)使用ZCARD命令。例如,要獲取名為“myzset”的有序集合中的元素?cái)?shù)量,可以執(zhí)行以下操作:

127.0.0.1:6379> ZCARD myzset

3、獲取有序集合中指定范圍內(nèi)的元素

要獲取有序集合中指定范圍內(nèi)的元素,請(qǐng)使用ZRANGE命令。例如,要獲取名為“myzset”的有序集合中排名在1到3之間的元素,可以執(zhí)行以下操作:

127.0.0.1:6379> ZRANGE myzset 0 2

這將返回一個(gè)包含指定元素的列表。

4、獲取有序集合中指定分?jǐn)?shù)范圍內(nèi)的元素

要獲取有序集合中指定分?jǐn)?shù)范圍內(nèi)的元素,請(qǐng)使用ZRANGEBYSCORE命令。例如,要獲取名為“myzset”的有序集合中分?jǐn)?shù)在0到20之間的元素,可以執(zhí)行以下操作:

127.0.0.1:6379> ZRANGEBYSCORE myzset 0 20

5、獲取有序集合中指定元素的排名

要獲取有序集合中指定元素的排名,請(qǐng)使用ZRANK命令。例如,要獲取名為“myzset”的有序集合中元素“ttc”的排名,可以執(zhí)行以下操作:

127.0.0.1:6379> ZRANK myzset ttc

6、獲取有序集合中指定元素的分?jǐn)?shù)

要獲取有序集合中指定元素的分?jǐn)?shù),請(qǐng)使用ZSCORE命令。例如,要獲取名為“myzset”的有序集合中元素“ctt”的分?jǐn)?shù),可以執(zhí)行以下操作:

127.0.0.1:6379> ZSCORE myzset ctt

7、從有序集合中刪除元素

要從有序集合中刪除元素,請(qǐng)使用ZREM命令。例如,要?jiǎng)h除名為“myzset”的有序集合中元素“a”,可以執(zhí)行以下操作:

127.0.0.1:6379> ZREM myzset a

8、查看有序集合中所有元素

使用ZRANGE命令查看有序集合中的所有元素

127.0.0.1:6379> ZRANGE myzset 0 -1

常見(jiàn)的管理命令

1、info命令

Redis的INFO命令用于獲取有關(guān)Redis服務(wù)器的各種統(tǒng)計(jì)信息和診斷信息。執(zhí)行INFO命令將返回一個(gè)包含大量鍵值對(duì)的文本字符串,其中每個(gè)鍵值對(duì)代表一個(gè)指標(biāo)。

以下是一些常見(jiàn)的INFO命令用法和示例:

  • 獲取Redis服務(wù)器的統(tǒng)計(jì)信息

要獲取Redis服務(wù)器的統(tǒng)計(jì)信息,可以執(zhí)行以下命令:

127.0.0.1:6379> INFO [all]

此命令將返回一個(gè)包含各種指標(biāo)的文本字符串,例如內(nèi)存使用情況、客戶端連接數(shù)、鍵數(shù)量、命中率等等。

  • 獲取指定信息分類下的統(tǒng)計(jì)信息

可以通過(guò)傳遞參數(shù)來(lái)指定要檢索哪個(gè)信息分類的統(tǒng)計(jì)信息。例如,要獲取Redis服務(wù)器的內(nèi)存使用情況,可以執(zhí)行以下命令:

127.0.0.1:6379> INFO memory

此命令將返回一個(gè)包含有關(guān)Redis服務(wù)器內(nèi)存使用情況的各種指標(biāo)的文本字符串。

  • 獲取Redis服務(wù)器的命令統(tǒng)計(jì)信息

要獲取Redis服務(wù)器的命令統(tǒng)計(jì)信息,可以執(zhí)行以下命令:

127.0.0.1:6379> INFO commandstats

此命令將返回一個(gè)包含各種Redis服務(wù)器命令的統(tǒng)計(jì)信息的文本字符串,例如命令名稱、執(zhí)行次數(shù)、執(zhí)行時(shí)間、平均執(zhí)行時(shí)間等等。


  • 獲取Redis服務(wù)器的主從復(fù)制信息

要獲取Redis服務(wù)器的主從復(fù)制信息,可以執(zhí)行以下命令:

127.0.0.1:6379> INFO replication

此命令將返回一個(gè)包含有關(guān)Redis服務(wù)器主從復(fù)制狀態(tài)的各種指標(biāo)的文本字符串,例如主從節(jié)點(diǎn)數(shù)量、主節(jié)點(diǎn)狀態(tài)、從節(jié)點(diǎn)狀態(tài)、復(fù)制偏移量等等。

  • 獲取Redis key分布情況

要獲取Redis key的分布情況,可以執(zhí)行以下命令:

127.0.0.1:6379> INFO Keyspace

此命令將返回一個(gè)每個(gè)庫(kù)的key的數(shù)量、含有過(guò)期時(shí)間的key的數(shù)據(jù)以及平均過(guò)期時(shí)間

2、查看所有已連接的客戶端信息

127.0.0.1:6379> client list

此命令將返回當(dāng)前正在連接的redi實(shí)例中的所有客戶端的信息

3、監(jiān)控所有操作命令monitor

例如,在一個(gè)客戶端執(zhí)行如下操作

127.0.0.1:6379[2]> select 4
127.0.0.1:6379[4]> set a ctt
127.0.0.1:6379[4]> EXPIRE a 600
127.0.0.1:6379[4]> del bbb

另一個(gè)客戶端執(zhí)行monitor命令,則可以看到所有的操作命令

以上為Redis基本操作命令。

責(zé)任編輯:姜華 來(lái)源: 今日頭條
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)