1. 程式人生 > 其它 >16 常⻅故障排查(轉載)

16 常⻅故障排查(轉載)

字串string

能夠儲存字串整數浮點數3種類型的值。

基本命令

+ get key //讀取
+ set key value // 寫入
+ del key // 刪除

自增/自減

+ incr key // 鍵值加1
+ decr key // 鍵值減1
+ incrby key amount // 鍵值加amount
+ decrby key amount // 鍵值減amount
+ incrbyfloat key amount // 鍵值加上浮點數amount

子串

+ append key value //追加到末尾
+ getrange key start end //獲取範圍內的子串,包括start和end
+ setrange key offset value //從偏移量offset開始的子串設定為value

演示:

setrange key 0  'HHH' // hello  ===> HHHlo 
setrange key 5 ',world' // hello  ===> hello,world 

二進位制位bit

把字串當成bit陣列處理

命令

+ setbit key offset value //把指定的bit位設定為value(value只能是0或1)
+ getbit key offset //獲取指定bit位的二進位制的值
+ bitcount key [start end] //統計指定範圍內bit位為1的數量

//對一個或多個二進位制串執行按位運算,結果儲存在destKey鍵中。操作包括並(and)、或(or)、異或(xor)和非(not)
+ bitop operation destKey key1 [key2 key3 ...] 

列表list

基本命令

+ lpush key value [value ...] //從左側推入
+ rpush key value [value ...] //從右側推入
+ lpop key //從左側彈出
+ rpop key //從右側彈出
+ lindex key offset //獲取偏移量為offset的元素
+ lrange key start end //獲取給定範圍的所有元素,包括start和end
+ ltrim key start end //對列表進行修剪,只保留start到end之間的元素,包括start和end。

阻塞式(Block)及列表移動

+ blpop key1 [key2 key3 ... ]  timeout //從第一個非空列表中彈出左側元素
+ brpop key1 [key2 key3 ... ]  timeout //從第一個非空列表中彈出右側元素
+ rpoplpush sourceKey destKey //從sourceKey右側彈出元素,推入destKey 左側,並返回該元素
+ brpoplpush sourceKey destKey timeout //阻塞式rpoplpush,如果sourceKey為空則阻塞

集合set

沒有排序,不重複。新增、刪除、是否存在等操作(時間複雜度是 O(1) )

基本命令

+ sadd key item [item ...] //將元素新增到集合key中
+ srem key item [item ...] //從集合key中刪除元素item 
+ sismember key item //判斷元素item是否在集合key中
+ smembers key //獲取集合key中的所有元素

//隨機的返回一個或多個元素。count為正,則返回的元素不重複;count為負,則返回的元素可能會重複
+ srandmember key [count]
+ scard key //獲取集合中元素的數量
+ spop key //隨機的移除一個元素
+ smove sourceKey destKey item //把元素item從集合sourceKey移動到destKey中

運算操作

set 型別提供了多個 set 之間的聚合運算,如求交集、並集、補集,這些操作在 redis 內部完成,效率很高。

+ sdiff key1 [key2 key3 ...] //差集運算,返回存在第一個集合,但不存在於其他集合的元素
+ sdiffstore destKey key1 [key2 key3 ...] //把差集運算的結果儲存到destKey 集合中

+ sinter key1 [key2 key3 ...] //交集運算,返回同時存在於所有集合中的元素
+ sinterstore destKey key1 [key2 key3 ...] //把交集運算的結果儲存到destKey 集合中

+ sunion key1 [key2 key3 ...] //並集運算,返回至少存在於一個集合中的元素
+ sunionstore destKey key1 [key2 key3 ...] //把並集運算的結果儲存到destKey 集合中

雜湊hash

基本命令

+ hset hashKey subKey value //把鍵值對[subKey:value]新增到雜湊hashKey中
+ hget hashKey subKey //獲取指定雜湊鍵的值
+ hmset hashKey subKey value [subKey value ...] //批量新增多個鍵
+ hmget hashKey subKey [subKey ...] //批量獲取多個鍵
+ hdel hashKey subKey [subKey ...] //移除指定的雜湊鍵
+ hlen hashKey //返回雜湊中鍵值對的數量
+ hexists hashKey key //判斷給定鍵是否存在於雜湊中
+ hkeys hashKey //獲取雜湊 hashKey 中所有的鍵
+ hvals hashKey //獲取雜湊 hashKey 中所有的值
+ hgetall hashKey //獲取雜湊中所有的鍵值對

遞增

+ hincr hashKey key amount //鍵key的值加上整數amount
+ hincrbyfloat hashKey key amount //鍵key的值加上浮點數amount

有序集合zset

儲存結構與雜湊一樣,都是鍵值對。
鍵被稱為成員member,值被稱為分值score,且必須為浮點數。

基本命令

+ zadd key score member [score member ...] //新增成員
+ zrem key member [member  ...] //刪除成員
+ zincrby key increment member //成員member的分值加上increment
+ zrank key member //返回成員member的排名
+ zscore key member //返回成員member的分值
+ zcard key //返回成員的數量
+ zcount key min max //返回分值介於min和max之間的成員數量

範圍操作

+ zrange key start stop  [withscores] //返回排名介於start和stop之間的成員。如果指定withscores,則分值一起返回
+ zrangebyscore key min max [withscores] // 返回分值介於min和max之間的成員。
+ zremrangebyrank key start stop //移除排名介於start和stop之間的所有成員。
+ zremrangebyscore key min max //移除分值介於min和max之間的所有成員。

逆序操作

按照分值從大到小排列。

+ zrevrank key member //返回成員member的逆序排名
+ zrevrange key start stop  [withscores] //返回逆序排名介於start和stop之間的成員
+ zrevrangebyscore key min max [withscores] //返回分值介於min和max之間的成員,並按分值從大到小的順序返回它們

參考資料https://www.cnblogs.com/renzhsh/p/16630698.html