Redis 資料型別及常用命令

處女座的老貓發表於2020-10-05

1. 前言

Redis 共支援五種資料型別,stringhashlistsetzset

Redis reference resources —> go

2. String(字串)

String 型別是 redis 最基本的型別,string 型別是二進位制安全的。意思是 redis 的 string 可以包含任何資料。比如jpg圖片或者序列化的物件,string 型別的值最大能儲存 512MB。

2.1 常用命令

  • set/get 設定和獲取對應key的value
  • mget 批量獲取多個key值
  • incr && incrby incr對key加值操作並返回新值,incrby加值
  • setnx 設定key對應的value,如果key已經存在則返回0
  • setex 設定key對應的值為String型別的value,並設定有效期

2.2 其他命令

  • getrange 獲取key對應value的子字串
  • mset 批量設定多個key值,成功所有值都被設定,否則返回 0 全部失敗
  • msetnxmset 不存在則設定,存在返回0
  • getset 設定值並返回舊值
  • append 給指定key的value追加字串,並返回新字串的長度

3. Hash(雜湊)

redis的Hash資料型別的key(hash表名稱)對應的value實際的內部儲存結構為一個HashMap,Hash特別適合儲存物件,相對於把一個物件的每個屬性儲存為String型別,將整個物件儲存在Hash型別中會佔用更少記憶體。

3.1 常用命令

  • hset/hget 設定/獲取 、key對應的HashMap中的field的value
  • hgetall 獲取key對應的HashMap中的所有field的value
  • hlen 返回key對應的HashMap中的field的數量

4. List(列表)

Redis 列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素到列表的頭部(左邊)或者尾部(右邊)。

4.1 常用命令

  • lpush 在key對應的list的頭部新增一個元素
  • lrange 獲取key對應的list的指定下標範圍的元素,-1表示獲取所有元素
  • lpop 從key對應的list的頭部刪除一個元素,並返回該元素
  • rpush 在key對應的list的尾部新增一個元素
  • rpop 從key對應的list的尾部刪除一個元素,並返回該元素

4. Set(集合)

Redis的Set是 string 型別的 無序集合不可重複。和列表一樣,在執行插入和刪除和判斷是否存在某元素時,效率是很高的。集合最大的優勢在於可以進行交集並集差集操作。Set可包含的最大元素數量是4294967295。集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是O(1)。

相關文章