位置:首頁 > 數據庫 > Redis教學 > Redis數據類型

Redis數據類型

Redis支持5種數據類型,它們描述如下:

Strings - 字符串

Redis的字符串是字節序列。在Redis中字符串是二進製安全的,這意味著他們有一個已知的長度,是冇有任何特殊字符終止決定的,所以可以存儲任何東西,最大長度可達512兆。

例子

redis 127.0.0.1:6379> SET name "yiibai"
OK
redis 127.0.0.1:6379> GET name
"yiibai"

在上麵的例子使用Redis命令set和get,Redis的名稱是yiibai的鍵存儲在Redis的字符串值。

注:字符串值可以存儲最大512兆字節的長度。

Hashes - 哈希值

Redis的哈希鍵值對的集合。 Redis的哈希值是字符串字段和字符串值之間的映射,所以它們被用來表示對象

例子

redis 127.0.0.1:6379> HMSET user:1 username yiibai password yiibai points 200
OK
redis 127.0.0.1:6379> HGETALL user:1

1) "username"
2) "yiibai"
3) "password"
4) "yiibai"
5) "points"
6) "200"

在上麵的例子中的哈希數據類型,用於存儲包含用戶的基本信息用戶的對象。這裡HMSET,HEXTALL對於Redis 命令 user:1 是鍵。

每個哈希可存儲多達232 - 1個 字段 - 值對(超過4十億)。

Lists - 列表

Redis的列表是簡單的字符串列表,排序插入順序。可以添加元素到Redis列表的頭部或尾部。

例子

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

1) "rabitmq"
2) "mongodb"
3) "redis"

列表的最大長度為232- 1元素(4294967295,每個列表中的元素超過4十億)。

Sets - 集合

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

例子

redis 127.0.0.1:6379> sadd tutoriallist redis
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist mongodb
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers tutoriallist

1) "rabitmq"
2) "mongodb"
3) "redis"

注意:在上麵的例子中rabitmq設置屬性加兩次,但由於唯一性隻加一次。

成員中集最大數量為232 - 1(4294967295,集合成員超過4十億)。

集合排序

Redis的集合排序類似於Redis集合,字符串不重複的集合。不同的是,一個有序集合的每個成員關聯分數,用於以便采取有序set命令,從最小的到最大的分數有關。雖然成員都是獨一無二的,分數可能會重複。

例子

redis 127.0.0.1:6379> zadd tutoriallist 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 1000

1) "redis"
2) "mongodb"
3) "rabitmq"