Redis資料型別

mercies發表於2020-12-30

1. redis的資料型別

  1. String -字串型別
  2. Hash -Hash型別,就是對於value裡邊又是一個鍵值對。
  3. List -列表型別,即陣列
  4. Set -集合型別,集合中不允許重複
  5. Zset - 有序的集合型別

2. String 字串型別

這裡說的字串不僅是傳統上說的字元,它還可以對應數字。
String最大容納512M位元組,建議單個kv不超過100kb,否則在記憶體中提取的效率將會大大降低。
字串中最長使用的命令:

命令示例說明
getget hello獲得key = hello 結果
setset hello world設定key = hello, value = world
mset mgetmset hello world java best , mget hello java一次性設定或獲取多個值
deldel hello刪除key = hello
incr /decrincr count, decr countkey值自增/自減1
incrby / decrbbyincrby count 99, decrby count 99自增自減指定步長

3. Hash鍵值型別

Hash型別用於儲存結構化資料,員工資訊,班級資訊,學校資訊,學生資訊等有固定屬性的物件
emp:1 -> name:smith
age:35
birthday:1988-01-30
height:178

Hash命令:

命令示例說明
hgethget emp:1 age獲取hash中key=age的值
hsethset emp:1 age 30設定hash 中age=23
hmset 、hmget、hgetallhmset emp:1 age 30 name kaka、hmget emp:1 age name、hgetall emp:1設定hash多個值、獲取hash多個值、獲取hash所有值
hdelhdel emp:1 age刪除emp:1的age
hexistshexists emp:1 name檢查是否存在
hlenhlen emp:1獲取指定長度

4. List列表型別

  1. List列表就是一系列字串的“陣列”,按插入順序排序。
  2. 最大長度為2^32-1,可以包含大約40億個元素。
  3. list 命令
    rpush listkey c b a --右側插入
    lpush listkey f e d --左側插入
    rpop listkey --右側彈出,一次彈出一個元素
    lpop listkey --左側彈出,一次彈出一個元素

5. Set集合與Zset集合型別

Set集合是字串的無序集合,集合成員是唯一的
Zset集合是字串的有序集合,集合成員是唯一的

set命令:

sadd 建立一個集合 例:sadd set1 a
看所有的資料: keys *
想看集合中所有元素: snumbers set1
多個set集合是可以進行運算的:

命令用法含義
sinter交集:sinter set1 set2:set1和set2中都出現的元素
sunion 並集:sunion set1 set2:set1和set2中全部出現過的元素
sdiff 差集:sdiff set1 set2:set1中有,set2中沒有的元素
Zset命令:

zadd建立一個集合:zadd zset1 100 a
zadd zset1 101 b(這裡的100,101代表的是後面元素的位置,預設按照升序排列)
zrange 用於輸出指定範圍的元素:zrange zset1 0 -1 [withscores]列印分數
zrangebyscore zset1 100 103:會輸出分數為100(包括)-103(包括)的對應的元素

相關文章