redis 學習筆記二
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 學習筆記二