redis的數據類型及使用場景

一、Redis的數據結構

       存儲的時候key和value都是String,value支持String、hash、list、set、zset等數據結構。

1. String

      結構:key-value  
      常用方法:set、setex、setnx(setIfNotExist)、get、incr/decr
      使用場景:存task、分佈式鎖、存int值做自增計數(incr具有原子性)

2. Hash 哈希表

      結構:key:[field-value; field-value;]  映射關係
      常用方法:hset(key, field, value);  hget/hexists/hdel(key, field);  hgetAll(key)  
      使用場景:存客服的會話list(field會話key,value會話詳情)、對工單的星標類型(field工單id,value星標類型)

3. List 列表

      結構:key:[value;  value;]  有序可重複,底層是鏈表實現的。頭尾添加元素快,查找慢。
      常用方法:lpush/rpush增、lpop/rpop刪、lset(設置索引位置的值)、查lrange(key,start,end):可爲負數-1表示鏈表尾部-2表示倒數第二個。 L是左邊隊頭,R是右邊隊尾。
      使用場景:做簡單的消息隊列功能,可以確保先後順序;利用lrange做分頁功能;

4. Set 集合

      結構:key:[value1; value2;]  無序,不可重複。
      常用方法:sadd增、srem刪、sismember/smembers查;
      使用場景:需要做數據去重時。

5. sortedSet (zset) 有序集合

     結構:key:[value-score; value-score]
     常用方法:zadd增、zrem刪、zrange查
     使用場景:做排序、取topK、範圍查找等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章