學(xué)習(xí)完整課程請(qǐng)移步 互聯(lián)網(wǎng) Java 全棧工程師
參考資料
連接操作相關(guān)的命令
- ping:測試連接是否存活如果正常會(huì)返回 pong
- echo:打印
- select:切換到指定的數(shù)據(jù)庫忌栅,數(shù)據(jù)庫索引號(hào) index 用數(shù)字值指定,以 0 作為起始索引值
- quit:關(guān)閉連接(connection)
- auth:簡單密碼認(rèn)證
服務(wù)端相關(guān)命令
- time:返回當(dāng)前服務(wù)器時(shí)間
- client list: 返回所有連接到服務(wù)器的客戶端信息和統(tǒng)計(jì)數(shù)據(jù) 參見 http://redisdoc.com/server/client_list.html
- client kill ip:port:關(guān)閉地址為 ip:port 的客戶端
- save:將數(shù)據(jù)同步保存到磁盤
- bgsave:將數(shù)據(jù)異步保存到磁盤
- lastsave:返回上次成功將數(shù)據(jù)保存到磁盤的Unix時(shí)戳
- shundown:將數(shù)據(jù)同步保存到磁盤,然后關(guān)閉服務(wù)
- info:提供服務(wù)器的信息和統(tǒng)計(jì)
- config resetstat:重置 info 命令中的某些統(tǒng)計(jì)數(shù)據(jù)
- config get:獲取配置文件信息
- config set:動(dòng)態(tài)地調(diào)整 Redis 服務(wù)器的配置(configuration)而無須重啟灼伤,可以修改的配置參數(shù)可以使用命令 CONFIG GET * 來列出
- config rewrite:Redis 服務(wù)器時(shí)所指定的 redis.conf 文件進(jìn)行改寫
- monitor:實(shí)時(shí)轉(zhuǎn)儲(chǔ)收到的請(qǐng)求
- slaveof:改變復(fù)制策略設(shè)置
發(fā)布訂閱相關(guān)命令
- psubscribe:訂閱一個(gè)或多個(gè)符合給定模式的頻道 例如 psubscribe news.* tweet.*
- publish:將信息 message 發(fā)送到指定的頻道 channel 例如 publish msg "good morning"
- pubsub channels:列出當(dāng)前的活躍頻道 例如 PUBSUB CHANNELS news.i*
- pubsub numsub:返回給定頻道的訂閱者數(shù)量 例如 PUBSUB NUMSUB news.it news.internet news.sport news.music
- pubsub numpat:返回客戶端訂閱的所有模式的數(shù)量總和
- punsubscribe:指示客戶端退訂所有給定模式茎芭。
- subscribe:訂閱給定的一個(gè)或多個(gè)頻道的信息若贮。例如 subscribe msg chat_room
- unsubscribe:指示客戶端退訂給定的頻道嗦玖。
對(duì) KEY 操作的命令
- exists(key):確認(rèn)一個(gè) key 是否存在
- del(key):刪除一個(gè) key
- type(key):返回值的類型
- keys(pattern):返回滿足給定 pattern 的所有 key
- randomkey:隨機(jī)返回 key 空間的一個(gè)
- keyrename(oldname, newname):重命名 key
- dbsize:返回當(dāng)前數(shù)據(jù)庫中 key 的數(shù)目
- expire:設(shè)定一個(gè) key 的活動(dòng)時(shí)間(s)
- ttl:獲得一個(gè) key 的活動(dòng)時(shí)間
- move(key, dbindex):移動(dòng)當(dāng)前數(shù)據(jù)庫中的 key 到 dbindex 數(shù)據(jù)庫
- flushdb:刪除當(dāng)前選擇數(shù)據(jù)庫中的所有 key
- flushall:刪除所有數(shù)據(jù)庫中的所有 key
對(duì) String 操作的命令
- set(key, value):給數(shù)據(jù)庫中名稱為 key 的 string 賦予值 value
- get(key):返回?cái)?shù)據(jù)庫中名稱為 key 的 string 的 value
- getset(key, value):給名稱為 key 的 string 賦予上一次的 value
- mget(key1, key2,…, key N):返回庫中多個(gè) string 的 value
- setnx(key, value):添加 string硬梁,名稱為 key合武,值為 value
- setex(key, time, value):向庫中添加 string临梗,設(shè)定過期時(shí)間 time
- mset(key N, value N):批量設(shè)置多個(gè) string 的值
- msetnx(key N, value N):如果所有名稱為 key i 的 string 都不存在
- incr(key):名稱為 key 的 string 增 1 操作
- incrby(key, integer):名稱為 key 的 string 增加 integer
- decr(key):名稱為 key 的 string 減 1 操作
- decrby(key, integer):名稱為 key 的 string 減少 integer
- append(key, value):名稱為 key 的 string 的值附加 value
- substr(key, start, end):返回名稱為 key 的 string 的 value 的子串
對(duì) List 操作的命令
- rpush(key, value):在名稱為 key 的 list 尾添加一個(gè)值為 value 的元素
- lpush(key, value):在名稱為 key 的 list 頭添加一個(gè)值為 value 的元素
- llen(key):返回名稱為 key 的 list 的長度
- lrange(key, start, end):返回名稱為 key 的 list 中 start 至 end 之間的元素
- ltrim(key, start, end):截取名稱為 key 的 list
- lindex(key, index):返回名稱為 key 的 list 中 index 位置的元素
- lset(key, index, value):給名稱為 key 的 list 中 index 位置的元素賦值
- lrem(key, count, value):刪除 count 個(gè) key 的 list 中值為 value 的元素
- lpop(key):返回并刪除名稱為 key 的 list 中的首元素
- rpop(key):返回并刪除名稱為 key 的 list 中的尾元素
- blpop(key1, key2,… key N, timeout):lpop 命令的 block 版本。
- brpop(key1, key2,… key N, timeout):rpop 的 block 版本稼跳。
- rpoplpush(srckey, dstkey):返回并刪除名稱為 srckey 的 list 的尾元素盟庞,并將該元素添加到名稱為 dstkey 的 list 的頭部
對(duì) Set 操作的命令
- sadd(key, member):向名稱為 key 的 set 中添加元素 member
- srem(key, member) :刪除名稱為 key 的 set 中的元素 member
- spop(key) :隨機(jī)返回并刪除名稱為 key 的 set 中一個(gè)元素
- smove(srckey, dstkey, member) :移到集合元素
- scard(key) :返回名稱為 key 的 set 的基數(shù)
- sismember(key, member) :member 是否是名稱為 key 的 set 的元素
- sinter(key1, key2,…key N) :求交集
- sinterstore(dstkey, (keys)) :求交集并將交集保存到 dstkey 的集合
- sunion(key1, (keys)) :求并集
- sunionstore(dstkey, (keys)) :求并集并將并集保存到 dstkey 的集合
- sdiff(key1, (keys)) :求差集
- sdiffstore(dstkey, (keys)) :求差集并將差集保存到 dstkey 的集合
- smembers(key) :返回名稱為 key 的 set 的所有元素
- srandmember(key) :隨機(jī)返回名稱為 key 的 set 的一個(gè)元素
對(duì) Hash 操作的命令
- hset(key, field, value):向名稱為 key 的 hash 中添加元素 field
- hget(key, field):返回名稱為 key 的 hash 中 field 對(duì)應(yīng)的 value
- hmget(key, (fields)):返回名稱為 key 的 hash 中 field i 對(duì)應(yīng)的 value
- hmset(key, (fields)):向名稱為 key 的 hash 中添加元素 field
- hincrby(key, field, integer):將名稱為 key 的 hash 中 field 的 value 增加 integer
- hexists(key, field):名稱為 key 的 hash 中是否存在鍵為 field 的域
- hdel(key, field):刪除名稱為 key 的 hash 中鍵為 field 的域
- hlen(key):返回名稱為 key 的 hash 中元素個(gè)數(shù)
- hkeys(key):返回名稱為 key 的 hash 中所有鍵
- hvals(key):返回名稱為 key 的 hash 中所有鍵對(duì)應(yīng)的 value
- hgetall(key):返回名稱為 key 的 hash 中所有的鍵(field)及其對(duì)應(yīng)的 value
Redis Sentinel
- ping :返回 pong
- sentinel masters :列出所有被監(jiān)視的主服務(wù)器,以及這些主服務(wù)器的當(dāng)前狀態(tài)汤善。
- sentinel slaves:列出給定主服務(wù)器的所有從服務(wù)器什猖,以及這些從服務(wù)器的當(dāng)前狀態(tài)票彪。
- sentinel get-master-addr-by-name:返回給定名字的主服務(wù)器的 IP 地址和端口號(hào)。如果這個(gè)主服務(wù)器正在執(zhí)行故障轉(zhuǎn)移操作不狮,或者針對(duì)這個(gè)主服務(wù)器的故障轉(zhuǎn)移操作已經(jīng)完成降铸,那么這個(gè)命令返回新的主服務(wù)器的 IP 地址和端口號(hào)。
- sentinel reset:重置所有名字和給定模式 pattern 相匹配的主服務(wù)器荤傲。pattern 參數(shù)是一個(gè) Glob 風(fēng)格的模式 重置操作清楚主服務(wù)器目前的所有狀態(tài)垮耳,包括正在執(zhí)行中的故障轉(zhuǎn)移,并移除目前已經(jīng)發(fā)現(xiàn)和關(guān)聯(lián)的遂黍,主服務(wù)器的所有從服務(wù)器和 Sentinel 终佛。
- sentinel failover:當(dāng)主服務(wù)器失效時(shí),在不詢問其他 Sentinel 意見的情況下雾家,強(qiáng)制開始一次自動(dòng)故障遷移(不過發(fā)起故障轉(zhuǎn)移的 Sentinel 會(huì)向其他 Sentinel 發(fā)送一個(gè)新的配置铃彰,其他 Sentinel 會(huì)根據(jù)這個(gè)配置進(jìn)行相應(yīng)的更新)。