1、string型別
1.1、字串型別是redis中最基本的資料型別,它能儲存任何形式的內容,包含二進位制資料,甚至是一張(二進位制內容)。乙個字串型別的值儲存的最大容量是1gb
1.2、命令
set/
get(
setnx)
mset/mget
incr/decr/incrby/decrby/incrbyfloat
strlen
2、hash型別
2.1、hash型別的值儲存了字段和字段值的對映,字段值只能是字串,不支援其他資料型別。hash型別的鍵至多可以儲存2^32-1 個字段。
2.2、hash型別適合儲存物件:如圖:1-1(行儲存)和1-2(列儲存)
redis可以為任何鍵增減欄位而不影響其他鍵
2.3、命令
hset/hget/hmset/hmget/hgetall(hsetnx)
hexists,判斷鍵中的屬性是否存在
hincrby(hash型別沒有hincr命令)
hdel
hkeys/hvals
hlen(獲取鍵中包含多少個字段)
3、list型別
3.1、list是乙個有序的字串列表,列表
內部實現是使用
雙向鍊錶(linked list)實現的。
3.2、list還可以作為佇列使用(後面講)
乙個列表型別的鍵最多能容納 2^23-1個元素。
3.3、命令
lpush/rpush/lpop/rpopllen/lrange(-1表示最後乙個元素的位置)
lrem(lrem key count value)count分為三種情況
count > 0 : 從表頭開始向表尾搜尋,移除與 value 相等的元素,數量為 count 。
count < 0 : 從表尾開始向表頭搜尋,移除與 value 相等的元素,數量為 count 的絕對值。
count = 0 : 移除表中所有與 value 相等的值。
lindex(查詢指定角標資料)
lset(修改)
ltrim(擷取)
linsert(向指定元素前後插入元素)
rpoplpush:將元素從乙個列表轉到另乙個列表
4、set型別
4.1、set集合中的元素都是不重複的,無序的,乙個集合型別鍵可以儲存至多 2^32-1 個元素
4.2、set集合型別和list列表型別的相似之處,如圖:2-1所示
4.3、命令
sadd/smembers/srem/sismember
sdiff/sinter(交集)/sunion(並集)
sdiffstore/sinterstore/sunionstore
scard(獲取集合長度)/spop(隨機從集合中取出並刪除乙個元素)
srandmember key [count]
如果 count 為正數,且小於集合基數,那麼命令返回乙個包含 count 個元素的陣列,陣列中的元素各不相同。如果 count 大於等於集合基數,那麼返回整個集合。
如果 count 為負數,那麼命令返回乙個陣列,陣列中的元素可能會重複出現多次,而陣列的長度為 count 的絕對值。
5、sorted set型別
5.1、有序集合,在集合型別的基礎上為集合中的每個元素都
關聯了乙個分數,這樣可以很方便的獲得
分數最高的n個元素(topn)。
5.2、有序集合型別和列表型別的差異
有序集合型別和列表型別的差異
相同點(1)二者都是有序的
(2)二者都可以獲得某一範圍的元素
不同點(1)列表型別是通過雙向鍊錶實現的,獲取靠近兩端的資料速度極快,當列表中元素增多後,訪問中間的資料速度會很慢,所以它更加適合很少訪問中間元素的應用
(2)有序集合型別是使用雜湊表和跳躍表(skip list)實現的,所以即使讀取位於中間部分的資料速度也很快
(3)列表中不能簡單的調整某個元素的位置,但是有序集合可以(通過更改這個元素的分值)
(4)有序集合要比列表型別更耗費記憶體
5.3、命令
zadd/zscore/zrange/zrevrange/
zrangebyscore(預設是閉區間,可使用"("使用開區間)
zincrby/zcard/zcount(獲取指定分數範圍的元素個數)
zrem/zremrangebyrank/zremrangebyscore
擴充套件:+inf(正無窮) -inf(負無窮)
Redis的資料型別
redis支援五種資料型別是string 字串 hash 雜湊 list 列表 set 集合 和zset sortedset 有序集合 string是redis最基本的型別,乙個key對應乙個value string型別是二進位制安全的,意思是redis的string可以包含任何資料,比如jpg或者...
Redis的資料型別
前面說過,redis的一大特性是支援豐富的資料型別,這為更多的應用場景提供了可能。redis有五種資料型別,包括string,list,set,sorted set和hash,注意,redis的資料型別不支援巢狀。下面學習一下這五種資料型別的特點和簡單應用。string 資料結構是簡單的 key v...
Redis的資料型別
redis是乙個開源的使用ansi c語言編寫 遵守bsd協議 支援網路 可基於記憶體亦可持久化的日誌型 key value資料庫,並提供多種語言的api,它通常被稱為資料結構伺服器,支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 和zset sorted set...