鍍金池/ 教程/ 大數(shù)據(jù)/ Redis數(shù)據(jù)類型
C#連接Redis
Redis基準(zhǔn)
Redis數(shù)據(jù)類型
Windows下安裝Redis
Redis事務(wù)
Redis腳本
Redis配置
Redis客戶端連接
Redis字符串
Redis管道
PHP連接Redis
Redis快速入門
Redis命令
Redis教程
Redis哈希
Redis環(huán)境安裝配置
Redis分區(qū)
Redis備份
Redis發(fā)送訂閱
Redis連接
Redis服務(wù)器
Redis集合
Redis鍵命令
Redis HyperLogLog
Java連接Redis
Redis列表

Redis數(shù)據(jù)類型

Redis支持5種數(shù)據(jù)類型。

字符串

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

示例

redis 127.0.0.1:6379> set name "yiibai.com" 
OK 
redis 127.0.0.1:6379> get name 
"yiibai.com"

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

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

散列/哈希

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

示例

redis 127.0.0.1:6379> HMSET ukey username "yiibai" password "passswd123" points 200

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

每個(gè)散列/哈??梢源鎯?chǔ)多達(dá)2^32 - 1個(gè)健-值對(duì)(超過40億個(gè))。

列表

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

示例

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

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

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

集合

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

示例

redis 127.0.0.1:6379> sadd yiibailist redis 
(integer) 1 
redis 127.0.0.1:6379> sadd yiibailist mongodb 
(integer) 1 
redis 127.0.0.1:6379> sadd yiibailist sqlite 
(integer) 1 
redis 127.0.0.1:6379> sadd yiibailist sqlite 
(integer) 0 
redis 127.0.0.1:6379> smembers yiibailist  

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

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

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

可排序集合

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

示例

redis 127.0.0.1:6379> zadd yiibaiset 0 redis
(integer) 1 
redis 127.0.0.1:6379> zadd yiibaiset 0 mongodb
(integer) 1 
redis 127.0.0.1:6379> zadd yiibaiset 1 sqlite
(integer) 1 
redis 127.0.0.1:6379> zadd yiibaiset 1 sqlite
(integer) 0 
redis 127.0.0.1:6379> ZRANGEBYSCORE yiibaiset 0 1000  

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

因?yàn)?‘sqlite‘ 的排序值是 1 ,其它兩個(gè)元素的排序值是 0 ,所以 ‘sqlite‘ 排在最后一個(gè)位置上。


上一篇:Redis集合下一篇:Redis教程