Redis 数据类型

一、Redis 数据类型

Redis 数据库支持的数据类型有五种。

  • String字符串
  • Hash哈希
  • List列表
  • Set集合
  • SortedSet有序集合

二、String 字符串类型

字符串是一组字节。在 Redis 数据库中,字符串是二进制安全的。这意味着它们具有已知的长度,而不是由任何特殊的终止字符确定。因此,可以在一个字符串中存储高达 512 兆字节的任何内容。

示例:

让我们使用 SET 命令在key中存储一个字符串名称“Ajeet Kumar”,然后使用 GET 命令检索它。

SET name "Ajeet Kumar"  
OK  
GET name   
"Ajeet Kumar"  

在上面的例子中,SET 和 GET 是 Redis 命令,name 是 Redis 中使用的键,“Ajeet Kumar”是存储在 Redis 中的字符串值。

三、Hash 哈希类型

哈希是键值对的集合。在 Redis 中,哈希是字符串字段和字符串值之间的映射。因此,它们用于表示对象。

示例:

让我们存储一个包含用户基本信息的用户对象。

HMSET user:1 username ajeet password javatpoint alexa 2000  
OK  
HGETALL  user:1  
"username"  
"ajeet"  
"password"  
"javatpoint"  
"alexa"  
"2000"  

这里,HMSET 和 HGETALL 是 Redis 的命令,而 user:1 是键。

每个散列最多可以存储 232 - 1 个字段值对(超过 40 亿个)。

四、List 列表类型

Redis List 列表定义为字符串列表,按插入顺序排序。您可以在头部或尾部向 Redis 列表添加元素。

示例:

lpush javatpoint java  
(integer) 1  
lpush javatpoint java  
(integer) 1  
lpush javatpoint java  
(integer) 1  
lpush javatpoint java  
(integer) 1  
lrange javatpoint 0 10  
"cassandra"  
"mongodb"  
"sql"  
"java"  

列表的最大长度为 232 - 1 个元素(每个列表超过 40 亿个元素)。

五、Set 集合类型

Sets 是 Redis 数据库中字符串的无序集合。在 Redis 中,您可以添加、删除和测试 O(1) 时间复杂度的成员是否存在。

示例:

sadd tutoriallist redis  
(integer) 1  
redis 127.0.0.1:6379> sadd tutoriallist sql  
(integer) 1  
redis 127.0.0.1:6379> sadd tutoriallist postgresql  
(integer) 1  
redis 127.0.0.1:6379> sadd tutoriallist postgresql  
(integer) 0  
redis 127.0.0.1:6379> sadd tutoriallist postgresql  
(integer) 0  
redis 127.0.0.1:6379> smembers tutoriallist  
1) "redis"  
2) "postgresql"  
3) "sql"  

在上面的示例中,您可以看到 postgresql 被添加了三次,但由于集合的唯一属性,它只添加了一次。

集合中的最大成员数为 232 - 1 个元素(每个列表超过 40 亿个元素)。

六、Sorted Set 有序集合

Redis Sorted Sets 类似于 Redis Sets。它们也是一组不重复的字符串集合。但是排序集的每个成员都与一个分数相关联,该分数用于对排序集进行排序,从最小到最大分数。虽然成员是唯一的,但分数可能会重复。

示例:

redis 127.0.0.1:6379> zadd tutoriallist 0 redis  
(integer) 1  
redis 127.0.0.1:6379> zadd tutoriallist 0 sql  
(integer) 1  
redis 127.0.0.1:6379> zadd tutoriallist 0 postgresql  
(integer) 1  
redis 127.0.0.1:6379> zadd tutoriallist 0 postgresql  
(integer) 0  
redis 127.0.0.1:6379> zadd tutoriallist 0 postgresql  
(integer) 0  
redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 10  
1) "postgresql"  
2) "redis"  
3) "sql" 

热门文章

优秀文章