redis 常見數據結構

1.String 字符串類型
set hello world
get hello
String是Redis 最基本的類型,一個 Key 對應一個 Value。Value 不僅是 String,也可以是數字。
String 類型是二進制安全的,意思是 Redis 的 String 類型可以包含任何數據,比如 jpg 圖片或者序列化的對象。String 類型的值最大能存儲 512M。

2.Hash (哈希) hget 、hset 、 hdel
hset user name1 hao
hgetall user
hget user name1
Redis 的 Hash 是一個 String 的 Key 和 Value 的映射表,Hash 特別適合存儲對象。常用命令:hget,hset,hgetall 等。

3.List鏈表(redis 使用雙端鏈表實現的 List)
lpush mylist 1 2 ll ls mem
lrange mylist 0 -1
List 列表是簡單的字符串列表,按照插入順序排序。可以添加一個元素到列表的頭部(左邊)或者尾部(右邊) 常用命令:lpush、rpush、lpop、rpop、lrange(獲取列表片段)等。

數據結構:List 就是鏈表,可以用來當消息隊列用。Redis 提供了 List 的 Push 和 Pop 操作,還提供了操作某一段的 API,可以直接查詢或者刪除某一段的元素。

實現方式:Redis List 的是實現是一個雙向鏈表,既可以支持反向查找和遍歷,更方便操作,不過帶來了額外的內存開銷。

4.Set 集合
sadd myset hao hao1 xiaohao hao
Set 是 String 類型的無序集合。集合是通過 hashtable 實現的。Set 中的元素是沒有順序的,而且是沒有重複的。常用命令:sdd、spop、smembers、sunion 等。

應用場景:Redis Set 對外提供的功能和 List 一樣是一個列表,特殊之處在於 Set 是自動去重的,而且 Set 提供了判斷某個成員是否在一個 Set 集合中。

5.zset 有序集合 有序集合的命令都是 以 z 開頭 zadd 、 zrange、 zscore
zadd myscoreset 100 hao 90 xiaohao
ZRANGE myscoreset 0 -1
使用場景:Sorted Set 可以通過用戶額外提供一個優先級(score)的參數來爲成員排序,並且是插入有序的,即自動排序。

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