1. 程式人生 > 資料庫 >Redis的五種資料型別的簡單介紹和使用

Redis的五種資料型別的簡單介紹和使用

資料型別之一:String

 

set key value
設定指定 key 的值


get key
獲取指定 key 的值


getrange key startIndex endIndex
獲取key指定位置的值


 


MGET key1 [key2..]
一次性獲取多個key的值,不存在的key返回值null


setex key timeout newValue
為指定的 key 設定值及其過期時間,timeout以s計算,如果 key 已經存在, SETEX 命令將會替換舊的值,時間到,value值為空


setnx key value
指定的 key 不存在時,為 key 設定指定的value值,如果key存在,返回結果0,設定失敗


setrange  key replaceIndex newValue
用指定的newValue覆蓋key中value的下標為X的值


strlen key
返回 key 所儲存的字串值的長度


mset key1 'value1' [key2 'value2' key3 'value3']
用於同時設定一個或多個 key-value 對


msetnx key1 'value1' [key1 'value1' key2 'value2']
同時設定一個或多個 key-value 對,當且僅當所有給定 key 都不存在,如果key存在則返回0,成功返回1


psetnx key EXPIRY_IN_MILLISECONDS value
以毫秒為單位設定 key 的生存時間,與	setnx的區別是一個秒單位一個毫秒單位


incr key
將 key 中儲存的value(整型數值)+1,只針對value為數字


incrby key num
將 key 所儲存的值(整型數值)加上給定的增量整型值(num)


incrbyfloat key num
將 key 所儲存的值(數字或浮點型數值)加上給定的增量值(num)


decr key
將 key 中儲存的value(整形數值)-1,只針對value為數字


decrby key num
將 key 所儲存的值(整型數值)減去給定的整型值(num)


append key value
如果 key 已經存在並且是一個字串, append命令將指定的 value 追加到該 key 原來值(value)的末尾,如果 key 不存在,則等同於set


資料型別之二:Hash

 

hset key field value
將雜湊表 key 中的欄位 field 的值設為 value 


hmset key field1 value1 [field2 value2 field3 value3 ]

同時將多個 field-value (域-值)對設定到雜湊表 key 中


hset key field value
將雜湊表 key 中的欄位 field 的值設為 value


hget key field
獲取儲存在雜湊表中指定欄位的值


hgetall key
獲取在雜湊表中指定 key 的所有欄位和值


hkeys key
獲取雜湊表中指定key的欄位


hvals key
獲取雜湊表中指定key的所有欄位儲存的值


hlen key
獲取雜湊表中指定key欄位的數量


hmget key field1 [field2]
獲取雜湊表中指定key的給定欄位的值


hexists key field
檢視雜湊表 key 中,指定的欄位是否存在


hincrby key field increment
為雜湊表 key 中的指定欄位的整數值加上整數值增量 increment 


hincrbyfloat key field increment
為雜湊表 key 中的指定欄位的浮點數值加上增量 increment


hsetnx key field value
只有在欄位 field 不存在時,設定雜湊表字段的值


hscan key cursor [MATCH pattern] [COUNT count]
用於迭代雜湊表中的鍵值對
cursor - 遊標。
pattern - 匹配的模式。
count - 指定從資料集裡返回多少元素,預設值為 10


資料型別之三:List


lpush key value1 [value2 value3 value4...]
將一個或多個值插入到列表頭部


lpushx key value
將一個值插入到已存在指定key的列表頭部

  


llen key
獲取列表長度


lindenx key index
通過索引獲取列表中的元素


lset key index value
通過索引設定列表元素的值


rpush key value1 [value2 value3....]
在列表中新增一個或多個值(key已存在直接追加,key不存在直接新增)

  


rpushx key value
為已存在的列表新增值

  

 


linsert key before|after pivot value
在列表的已存在元素(pivot)前(before)或者後(after )插入元素(value)


rpop key
移除列表的最後一個元素,返回值為移除的元素


ltrim key start stop
對一個列表進行修剪(trim),就是說,讓列表只保留指定區間start-stop內的元素,不在指定區間之內的元素都將被刪除


lpop key
移出列表的第一個元素,並返回移除的第一個元素


lrem key count value
移除列表元素
count > 0 : 從表頭開始向表尾搜尋,移除與 VALUE 相等的元素,數量為 COUNT 。
count < 0 : 從表尾開始向表頭搜尋,移除與 VALUE 相等的元素,數量為 COUNT 的絕對值。
count = 0 : 移除表中所有與 VALUE 相等的值


blpop key1 [key2 ] timeout
移出列表的第一個元素,並返回移除元素的key和value, 如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止

如果列表為空,返回一個 nil 。
否則,返回一個含有兩個元素的列表,第一個元素是被彈出元素所屬的 key ,第二個元素是被彈出元素的值
timeout以s為單位


rpoplpush key otherKey
移除指定key列表的最後一個元素,並將移除的這個元素新增到另一個列表(otherKey,otherKey不存在即新增,存在即追加)並返回這個元素值


資料型別之四:Set

asdd key value1 [value2 value3...]
向集合新增一個或多個成員,set中的集合成員是唯一的


smembers key
返回集合中的所有成員


scard key
獲取集合的成員數


sdiff  key1 [key2]
返回第一個集合與其他集合之間的差異;
用第一個集合中的成員與其它集合中成員進行對比,如果在其它集合成員中找到該值,則丟棄該值,如果在其它集合成員中未找到該值,則保留該值,以此展示對比完後的結果;
不存在的集合 key 將視為空集。 


sdiffstore 自定義儲存差集的key key1 [key2]
返回給定所有集合的差集並存儲在 自定義儲存差集的key中,如果指定的集合 key 已存在,則會被覆蓋。 


sinter key1 [key2]
返回給定所有集合的交集
用第一個集合中的成員與其它集合中成員進行對比,如果在其它集合成員中找到該值,則保留該值,如果在其它集合成員中未找到該值,則丟棄該值,以此展示對比完後的結果;
不存在的集合 key 被視為空集。 當給定集合當中有一個空集時,結果也為空集

sinterstore 自定義儲存交集的key key1 [key2]
返回給定所有集合的交集並存儲在 自定義儲存交集的key中,如果指定的集合 key 已存在,則會被覆蓋。 


sismember key member
判斷 member 元素是否是集合 key 的成員,是返回結果1,否返回結果0


smove source destination member
將 member 元素從 source 集合移動到 destination 集合,destination 如果不存在則為新增集合,如果destination 存在則為增加成員


spop key
移除並返回集合中的一個隨機元素


srandmember key [count]
返回集合中一個或多個隨機數


srem key member1 [member2]
移除集合中一個或多個成員


sunion key1 [key2]
返回所有給定集合的並集


sunionsstore destination key1 [key2]
所有給定集合的並集儲存在 destination 集合中,destination 如果不存在則為新增集合,如果destination 存在則為增加成員


sscan key cursor [MATCH pattern] [COUNT count]
迭代集合中的元素

資料型別之五:sorted set

每個元素都會關聯一個 double 型別的分數。redis 正是通過分數來為集合中的成員進行從小到大的排序。

有序集合的成員是唯一的,但分數(score)卻可以重複。


zadd key score1 member1 [score2 member2]
向有序集合新增一個或多個成員,或者更新已存在成員的分數


zcard key
獲取有序集合的成員數


zcount key min max
計算在有序集合中指定區間分數的成員數


zincrby key increment member
有序集合中對指定成員的分數加上增量 increment


zinterstore destination numkeys key [key ...]
計算給定的一個或多個有序集的交集並將結果集儲存在新的有序集合 destination 中

destination :儲存交集的key,如果key不存在即新增,如果存在會覆蓋原值
numkeys :進行交集取值的集合個數


zrange key start stop [WITHSCORES]
通過索引區間返回有序集合指定區間內的成員

其中成員的位置按分數值遞增(從小到大)來排序。
具有相同分數值的成員按字典序(lexicographical order )來排列。
下標引數 start 和 stop 都以 0 為底,也就是說,以 0 表示有序集第一個成員,以 1 表示有序集第二個成員,以此類推。
你也可以使用負數下標,以 -1 表示最後一個成員, -2 表示倒數第二個成員,以此類推。 


zrevrange key start stop [WITHSCORES]
返回有序集中指定區間內的成員,通過索引,分數從高到低

其中成員的位置按分數值遞減(從大到小)來排列。
具有相同分數值的成員按字典序的逆序(reverse lexicographical order)排列


zrank key member
返回有序集合中指定成員的索引


zrem key member [member ...]
移除有序集合中的一個或多個成員


zcore key member
返回有序集中,成員的分數值