Redis 基础信息:Redis 支持的数据类型 2 个改进

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

  • 字符串

  • 哈希

  • 列表

  • 集合

  • 有序集合


字符串

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

Example

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

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

Redis Data Types 1

在上面的示例中,SET 和 GET 是 Redis 命令,名称是 Redis 中使用的键,Ajeet Kumar 是Redis中存储的字符串值。


Hashes

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

示例

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

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

Redis Data Types 2

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

每个哈希可以存储多达 2 的 32 次方减 1 个键/值对(超过40亿)。


链接

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

示例

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

Redis Data Types 3

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


set(集合)

集合是 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"  

Redis Data Types 4

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

集合中成员的最大数量为 2 的 32 次方减 1 个元素( 每个列表超过 40 亿个元素 )。

有序集合

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个 double 类型的分数。Redis 正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数却可以重复。

示例

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"  

Redis Data Types 5

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!