溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Redis中支持的數(shù)據(jù)類型有哪些

發(fā)布時間:2020-11-18 14:31:48 來源:億速云 閱讀:174 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章將為大家詳細講解有關(guān)Redis中支持的數(shù)據(jù)類型有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Redis支持五種數(shù)據(jù)類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

String(字符串)

string 是 redis 最基本的類型,你可以理解成與 Memcached 一模一樣的類型,一個 key 對應(yīng)一個 value。

string 類型是二進制安全的。意思是 redis 的 string 可以包含任何數(shù)據(jù)。比如jpg圖片或者序列化的對象。

string 類型是 Redis 最基本的數(shù)據(jù)類型,string 類型的值最大能存儲 512MB。

常用命令:set、get、decr、incr、mget等。

注意:一個鍵最大能存儲512MB。

Hash(哈希)

Redis hash 是一個鍵值(key=>value)對集合;是一個 string 類型的 field 和 value 的映射表,hash 特別適合用于存儲對象。

每個 hash 可以存儲 232 -1 鍵值對(40多億)。

常用命令:hget、hset、hgetall等。

應(yīng)用場景:存儲一些結(jié)構(gòu)化的數(shù)據(jù),比如用戶的昵稱、年齡、性別、積分等,存儲一個用戶信息對象數(shù)據(jù)。

List(列表)

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

list類型經(jīng)常會被用于消息隊列的服務(wù),以完成多程序之間的消息交換。

常用命令:lpush、rpush、lpop、rpop、lrange等。

列表最多可存儲 232 - 1 元素 (4294967295, 每個列表可存儲40多億)。

Set(集合)

Redis的Set是string類型的無序集合。和列表一樣,在執(zhí)行插入和刪除和判斷是否存在某元素時,效率是很高的。集合最大的優(yōu)勢在于可以進行交集并集差集操作。Set可包含的最大元素數(shù)量是4294967295。
集合是通過哈希表實現(xiàn)的,所以添加,刪除,查找的復(fù)雜度都是O(1)。

應(yīng)用場景:

1、利用交集求共同好友。

2、利用唯一性,可以統(tǒng)計訪問網(wǎng)站的所有獨立IP。

3、好友推薦的時候根據(jù)tag求交集,大于某個threshold(臨界值的)就可以推薦。

常用命令:sadd、spop、smembers、sunion等。

集合中最大的成員數(shù)為 232 - 1(4294967295, 每個集合可存儲40多億個成員)。

zset(sorted set:有序集合)

Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復(fù)的成員。

不同的是每個元素都會關(guān)聯(lián)一個double類型的分數(shù)。redis正是通過分數(shù)來為集合中的成員進行從小到大的排序。

zset的成員是唯一的,但分數(shù)(score)卻可以重復(fù)。

sorted set是插入有序的,即自動排序。

常用命令:zadd、zrange、zrem、zcard等。

當你需要一個有序的并且不重復(fù)的集合列表時,那么可以選擇sorted set數(shù)據(jù)結(jié)構(gòu)。

應(yīng)用舉例:

(1)例如存儲全班同學(xué)的成績,其集合value可以是同學(xué)的學(xué)號,而score就可以是成績。
(2)排行榜應(yīng)用,根據(jù)得分列出topN的用戶等。

關(guān)于Redis中支持的數(shù)據(jù)類型有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI