溫馨提示×

溫馨提示×

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

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

  redis字符串內(nèi)型詳解

發(fā)布時間:2020-03-03 03:39:41 來源:網(wǎng)絡 閱讀:476 作者:小小子之家 欄目:MongoDB數(shù)據(jù)庫

    redis字符串內(nèi)型詳解

字符串

Redis中的字符串是一個字節(jié)序列。Redis中的字符串是二進制安全的,這意味著它們的長度不由任何特殊的終止字符決定。因此,可以在一個字符串中存儲高達512兆字節(jié)的任何內(nèi)容。

示例

redis 172.16.10.1:6379> set name "baidu.com" 
OK 
redis 172.16.10.1:6379> get name 
"baidu.com"Shell

在上面的示例中,setget是Redis命令,name是Redis中使用的鍵,baidu.com是存儲在Redis中的字符串的值。

注 - Redis命令不區(qū)分大小寫,如SET,Setset都是同一個命令。字符串值的最大長度為 512MB。


散列/哈希

Redis散列/哈希(Hashes)是鍵值對的集合。Redis散列/哈希是字符串字段和字符串值之間的映射。因此,它們用于表示對象。

示例

redis 172.16.10.1:6379> HMSET ukey username "baidu" password "passswd123" points 200Shell

在上述示例中,散列/哈希數(shù)據(jù)類型用于存儲包含用戶的基本信息的用戶對象。這里HMSET,HGETALL是Redis的命令,而ukey是鍵的名稱。

每個散列/哈希可以存儲多達2^32 - 1個健-值對(超過40億個)。


列表

Redis列表只是字符串列表,按插入順序排序。您可以向Redis列表的頭部或尾部添加元素。

示例

redis 172.16.10.1:6379> lpush alist redis 
(integer) 1 
redis 172.16.10.1:6379> lpush alist mongodb 
(integer) 2 
redis 172.16.10.1:6379> lpush alist sqlite 
(integer) 3 
redis 172.16.10.1:6379> lrange alist 0 10  

1) "sqlite" 
2) "mongodb" 
3) "redis"Shell

列表的最大長度為2^32 - 1個元素(4294967295,每個列表可容納超過40億個元素)。


集合

Redis集合是字符串的無序集合。在Redis中,您可以添加,刪除和測試成員存在的時間O(1)復雜性。

示例

redis 172.16.10.1:6379> sadd baidulist redis 
(integer) 1 
redis 172.16.10.1:6379> sadd baidulist mongodb 
(integer) 1 
redis 172.16.10.1:6379> sadd baidulist sqlite 
(integer) 1 
redis 172.16.10.1:6379> sadd baidulist sqlite 
(integer) 0 
redis 172.16.10.1:6379> smembers baidulist  

1) "sqlite" 
2) "mongodb" 
3) "redis"Shell

注意 - 在上面的示例中,sqlite被添加了兩次,但是由于集合的唯一屬性,所以它只算添加一次。

一個集合中的最大成員數(shù)量為2^32 - 1(即4294967295,每個集合中元素數(shù)量可達40億個)個。


可排序集合

Redis可排序集合類似于Redis集合,是不重復的字符集合。 不同之處在于,排序集合的每個成員都與分數(shù)相關聯(lián),這個分數(shù)用于按最小分數(shù)到最大分數(shù)來排序的排序集合。雖然成員是唯一的,但分數(shù)值可以重復。

示例

redis 172.16.10.1:6379> zadd baiduset 0 redis
(integer) 1 
redis 172.16.10.1:6379> zadd baiduset 0 mongodb
(integer) 1 
redis 172.16.10.1:6379> zadd baiduset 1 sqlite
(integer) 1 
redis 172.16.10.1:6379> zadd baiduset 1 sqlite
(integer) 0 
redis 172.16.10.1:6379> ZRANGEBYSCORE baiduset 0 1000  

1) "mongodb" 
2) "redis" 
3) "sqlite"Shell

因為 ‘sqlite‘ 的排序值是 1 ,其它兩個元素的排序值是 0 ,所以 ‘sqlite‘ 排在最后一個位置上。


向AI問一下細節(jié)

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

AI