005redis的資料型別

2021-07-05 19:23:36 字數 2328 閱讀 3049

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/rpop

llen/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...