Redis(Remote Dictionary Server)是一個(gè)開(kāi)源的高性能鍵值對(duì)(key-value)存儲(chǔ)數(shù)據(jù)庫(kù)。它支持多種數(shù)據(jù)結(jié)構(gòu),如字符串(strings)、列表(lists)、集合(sets)、有序集合(sorted sets)、哈希表(hashes)和地理空間索引(geospatial indexes)等。Redis提供了豐富的命令來(lái)操作這些數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)各種功能。以下是一些常用的Redis命令及其功能:
連接與斷開(kāi)連接
connect [ip] [port]
:連接到指定的Redis服務(wù)器。disconnect
:斷開(kāi)與當(dāng)前Redis服務(wù)器的連接。ping
:發(fā)送PING命令到服務(wù)器,如果服務(wù)器響應(yīng)PONG,則表示連接正常。設(shè)置和獲取數(shù)據(jù)
set key value
:將鍵key
的值設(shè)置為value
。get key
:獲取鍵key
的值。setnx key value
:如果鍵key
不存在,則設(shè)置其值為value
,并返回1;否則返回0。setex key seconds value
:將鍵key
的值設(shè)置為value
,并設(shè)置過(guò)期時(shí)間(單位:秒)。hset key field value
:在哈希表key
中設(shè)置字段field
的值為value
。hget key field
:獲取哈希表key
中字段field
的值。列表操作
lpush key value
:將值value
插入到列表key
的頭部。rpush key value
:將值value
插入到列表key
的尾部。lpop key
:移除并返回列表key
頭部的元素。rpop key
:移除并返回列表key
尾部的元素。lrange key start end
:獲取列表key
中從索引start
到end
的元素。集合操作
sadd key value
:將值value
添加到集合key
中。srem key value
:從集合key
中移除值value
。smembers key
:獲取集合key
中的所有元素。sismember key value
:判斷值value
是否在集合key
中。有序集合操作
zadd key score value
:將值value
添加到有序集合key
中,并指定其分?jǐn)?shù)(score)。zrem key value
:從有序集合key
中移除值value
。zrange key start end [withscores]
:獲取有序集合key
中從索引start
到end
的元素及其分?jǐn)?shù)。zscore key value
:獲取有序集合key
中值value
的分?jǐn)?shù)。哈希表操作
hsetnx key field value
:如果哈希表key
中不存在字段field
,則設(shè)置其值為value
。hgetall key
:獲取哈希表key
中的所有字段及其值。hexists key field
:判斷哈希表key
中是否存在字段field
。事務(wù)與回滾
multi
:開(kāi)始一個(gè)事務(wù)。exec
:執(zhí)行事務(wù)中的所有命令。discard
:取消事務(wù),回滾所有已執(zhí)行的命令。發(fā)布與訂閱
publish channel message
:向指定頻道channel
發(fā)布消息message
。subscribe channel [channel ...]
:訂閱一個(gè)或多個(gè)頻道。psubscribe pattern [pattern ...]
:根據(jù)模式匹配訂閱一個(gè)或多個(gè)頻道。unpublish channel message
:取消發(fā)布消息到指定頻道。punsubscribe [channel ...]
:取消訂閱一個(gè)或多個(gè)頻道。unsubscribe channel [channel ...]
:取消訂閱一個(gè)或多個(gè)頻道。Lua腳本處理
eval script numkeys key [key ...]
:執(zhí)行Lua腳本script
,其中numkeys
表示腳本中使用的鍵的數(shù)量,key
表示腳本中使用的鍵。evalsha sha1 numkeys key [key ...]
:執(zhí)行已緩存的Lua腳本sha1
,其中numkeys
表示腳本中使用的鍵的數(shù)量,key
表示腳本中使用的鍵。系統(tǒng)管理
info [section]
:獲取Redis服務(wù)器的運(yùn)行狀態(tài)信息,可以選擇查看特定部分的信息,如cpu
、memory
、persistence
等。monitor
:實(shí)時(shí)監(jiān)控Redis服務(wù)器的所有操作命令。save
:執(zhí)行SAVE或BGSAVE命令,將數(shù)據(jù)異步保存到磁盤。bgsave
:執(zhí)行BGSAVE命令,將數(shù)據(jù)異步保存到磁盤。shutdown [save]
:關(guān)閉Redis服務(wù)器,可以選擇是否保存數(shù)據(jù)。lastsave
:返回最后一次執(zhí)行SAVE或BGSAVE命令的時(shí)間戳。flushdb
:清空當(dāng)前數(shù)據(jù)庫(kù)。flushall
:清空所有數(shù)據(jù)庫(kù)。dbsize
:返回當(dāng)前數(shù)據(jù)庫(kù)中鍵的數(shù)量。keys pattern
:查找所有符合給定模式的鍵。scan key [match pattern] [count count]
:迭代當(dāng)前數(shù)據(jù)庫(kù)中的鍵,返回匹配給定模式的鍵及其值。object encoding key
:獲取鍵key
的編碼類型。object refcount key
:獲取鍵key
的引用計(jì)數(shù)。object Dumper key
:以字符串形式返回鍵key
的值及其類型。config get setting
:獲取Redis服務(wù)器的配置參數(shù)值。config set setting value
:設(shè)置Redis服務(wù)器的配置參數(shù)值。config rewrite
:重寫(xiě)Redis服務(wù)器的配置文件。save
:同步保存數(shù)據(jù)到磁盤。bgrewriteaof
:異步重寫(xiě)AOF文件。client list
:列出所有連接到Redis服務(wù)器的客戶端。client kill ip port
:終止與指定IP地址和端口相關(guān)的客戶端連接。client pause milliseconds
:暫停指定毫秒數(shù),期間所有客戶端的請(qǐng)求將被掛起。client unpause
:取消暫??蛻舳苏?qǐng)求。cluster nodes
:獲取集群中所有節(jié)點(diǎn)的信息。cluster create node-id master-ip master-port [cluster-enabled yes [cluster-config-file config-file] [cluster-node-timeout milliseconds]]
:創(chuàng)建一個(gè)新的Redis集群節(jié)點(diǎn)。cluster add-node node-id master-ip master-port [cluster-enabled yes]
:將一個(gè)節(jié)點(diǎn)添加到現(xiàn)有的Redis集群中。cluster failover master-id [slaveof new-master-id new-master-ip new-master-port]
:對(duì)指定的主節(jié)點(diǎn)執(zhí)行故障轉(zhuǎn)移。cluster reset node-id [force yes]
:重置指定節(jié)點(diǎn)的狀態(tài),可以選擇是否強(qiáng)制執(zhí)行。cluster rebalance
:重新平衡集群中的節(jié)點(diǎn)。cluster save-config
:保存當(dāng)前集群的配置到配置文件。cluster node-timeout milliseconds
:設(shè)置集群節(jié)點(diǎn)的超時(shí)時(shí)間(單位:毫秒)。cluster wait-for-slaveof-to-stop node-id [master-id]
:等待指定節(jié)點(diǎn)停止作為從節(jié)點(diǎn)。cluster skip-full-slots-check
:跳過(guò)對(duì)槽位的完整性檢查。cluster set-config-file config-file
:設(shè)置集群的配置文件路徑。cluster get-config-file
:獲取集群的配置文件路徑。cluster flush-slots
:清空所有槽位。cluster fix
:修復(fù)集群中的不一致問(wèn)題。cluster save-slots
:保存當(dāng)前槽位信息到磁盤。cluster load-slot-from-checkpoint slot-number
:從檢查點(diǎn)加載槽位信息。