1. 程式人生 > >redis 學習筆記二

redis 學習筆記二

mount block sadd hash lis 散列 bubuko hdel info

redis指令

String


基礎知識

存儲以下三種值: 字符串、整數、浮點數
有需要的情況下,redis將整數轉化為浮點數
明確區分三種值


自增/自減指令

INCR KEY-NAME 將鍵存儲的值+1
DECR KEY-NAME 將鍵存儲的值-1
INCR KEY-NAME AMOUNT 將鍵存儲的值+AMOUNT
DECR KEY-NAME AMOUNT 將鍵存儲的值-AMOUNT
INCRBYFLOAT KEY-NAME AMOUNT 將鍵存儲的值+浮點數AMOUNT

技術分享圖片


redis處理二進制位和字串

APPEND KEYNAME VALUE 將value值追加到鍵KEYNAME當前存儲的值末尾

GETRANGE KEYNAME START END 獲取start到end範圍內所有字符構成的子串,包含start和end
SETRANGE KEYNAME OFFSET VALUE將從start偏移量開始的子串設置為給定值
GETBIT KEYNAME OFFSET 將字節串視為二進制位串,並返回串中偏移量為OFFSET值的二進制位的值
SETBIT KEYNAME OFFSET VALUE將字節串視為二進制位串,並將串中偏移量為OFFSET值的二進制位的值設為VALUE
BITCOUNT KEYNAME START END統計給定範圍內二進制位串值為1的二進制位的個數
BITOP OPERATION DESTKEY KEYNAME [KEYNAME ...]
對一個或多個二進制位串進行AND、OR、XOR、NOT等操作,並將計算出來的結果保存到DESTKEY鍵裏面

使用null字節自動拓展至長度
超出部分視為空串

技術分享圖片


List


常用操作指令:

RPUSH KEYNAME VALUE [VALUE...] 將一個或多個值推入列表右側
LPUSH KEYNAME VALUE [VALUE...] 將一個或多個值推入列表左側
RPOP KEYNAME 彈出並返回列表最右端的值
LPOP KEYNAME 彈出並返回列表最左端的值
LINDEX KEYNAME OFFSET 返回列表中偏移量為OFFSET的值
LRANGE KEYNAME START END

返回start到end範圍內所有元素,包含start和end
LTRIM KEYNAME START END只保留start到end範圍內所有元素,包含start和end

技術分享圖片


阻塞式列表彈出與列表間移動指令

BLPOP KEYNAME [KEYNAME...] TIMEOUT 從第一個非空列表中彈出最左端元素,或在TIMEOUT秒之內阻塞並等待可彈出的元素出現
BRPOP KEYNAME [KEYNAME...] TIMEOUT 從第一個非空列表中彈出最右端元素,或在TIMEOUT秒之內阻塞並等待可彈出的元素出現
BPOPLPUSH SOURCEKEY DESTKEY 將SOURCEKEY中最右端元素彈出,然後壓入DESTKEY最左端,並向用戶返回
BRPOPLPUSH SOURCEKEY DESTKEY TIMEOUT將SOURCEKEY中最右端元素彈出,然後壓入DESTKEY最左端,並向用戶返回這個元素;如果SOURCEKEY為空,則在TIMEOUT秒之內阻塞並等待可彈出的元素出現

技術分享圖片


Set


集合的基本指令:

SADD KEYNAME ITEM [ITEM...] 將一個或多個元素添加入集合,並返回被添加元素中原本並不存在於集合的元素的數量
SREM KEYNAME ITEM [ITEM...] 從集合中移除一個或多個元素,並返回被移除元素的數量
SISMEMBER KEYNAME ITEM 檢查item是否位於集合中
SCARD KEYNAME 返回集合包含元素的數量
SMEMBERS KEYNAME 返回集合包含的所有元素
SRANDMEMBER KEYNAME [COUNT] 從集合中隨機返回一個或多個元素 ,count > 0 時, 返回的元素不會重復, count < 0 時返回的元素可以重復
SPOP KEYNAME隨機移除集合中的一個元素,並返回被移除的元素
SMOVE SOURCEKEY DESTKEY ITEM 如果SOURCEKEY包含item,將其從SOURCEKEY中移除並添加到DESTKEY中;如果item被成功移除,則命令返回1,否則返回0

技術分享圖片


組合和處理多個集合的redis操作

SDIFF KEYNAME [KEYNAME...] 返回差集
SDIFFSTORE DESTKEY KEYNAME [KEYNAME...] 返回差集到DESTKEY
SINTER KEYNAME [KEYNAME...] 返回交集
SINTERSTORE DESTKEY KEYNAME [KEYNAME...] 返回交集到DESTKEY
SUNION KEYNAME [KEYNAME...] 返回並集
SUNION DESTKEY KEYNAME [KEYNAME...] 返回並集到DESTKEY

技術分享圖片


Hash


添加和刪除鍵值對操作:

HMGET KEYNAME KEY [KEY...] 從散列裏面獲取一個或多個鍵的值
HMSET KEYNAME KEY VALUE [KEY VALUE ...]為散列中一個或多個鍵設置值
HDEL KEYNAME KEY [KEY...] 刪除散列裏面一個或多個鍵值對,並返回成功找到並刪除的個數
HLEN KEYNAME 返回散列包含鍵值對的數量

技術分享圖片


redis散列高級特性

HEXISTS KEYNAME KEY 檢查給定值是否在散列中
HKEYS KEYNAME 獲取散列中所有的鍵
HVALS KEYNAME 獲取散列中所有的值
HGETALL KEYNAME 獲取散列中所有的鍵值對
HINCRBY KEYNAME KEY INCREMENT 將鍵key上存儲的值加上increment
HINCRBYFLOAT KEYNAME KEY INCREMENT 將鍵key上存儲的值加上浮點數increment


Zset


常用指令:

ZADD KEYNAME SCORE MEMBER [KEY MEMBER]將給定分值的成員添加到集合中
ZREM KEYNAME MEMBER [MEMBER] 將給定成員從有序集合中刪除,並返回成功數量
ZCARD KEYNAME 返回有序集合成員數量
ZINCRBY KEYNAME INCREMENT MEMBER 將member成員的分值加上increment
ZCOUNT KEYNAME MIN MAX返回分值介於min和max指檢的成員
ZRANK KEYNAME MEMBER返回member在有序集合中的排名
ZSCORE KEYNAME MEMBER 返回成員member的分值
ZRANGE KEYNAME START STOP返回排名介於start到stop之間的成員,若添加WITHSCORES,則將分數一並返回

技術分享圖片


範圍型數據操作指令

ZREVRANK KEYNAME MEMBER 返回有序集合menber的排名,成員按分值由大到小
ZREVRANGE KEYNAME MEMBER [WITHSCORES] 返回有序集合給定範圍的成員,按分值從大到小排序
ZRANGEBYSCORE KEY MIN MAX [WITHSCORES] [LIMIT OFFSET COUNT]獲取有序結合中分值介於min和max之間的所有成員,並按分值由大到小返回
ZREMRANGEBYRANK KEYNAME START STOP移除排名介於start和stop之間所有的成員
ZREMRANGEBYSCORE KEYNAEM MIN MAX移除分值位於min和max之間的所有成員
ZINTERSTORE DESTKEY KEYCOUNT KEY [KEY...] [WEIGHTS WEIGHT [WEIGHT...] [AGGREGATE SUM|MIN|MAX]]對給定有序集合進行交集操作
ZUNIONSTORE DESTKEY KEYCOUNT KEY [KEY...] [WEIGHTS WEIGHT [WEIGHT...] [AGGREGATE SUM|MIN|MAX]]對給定有序結合進行並集操作

技術分享圖片

技術分享圖片

redis 學習筆記二