Redis 数据类型基础教程文档
收录于 2023-04-20 00:10:05 · بالعربية · English · Español · हिंदीName · 日本語 · Русский язык · 中文繁體
Redis数据库支持五种数据类型。
Strings
Hashes
Lists
Sets
Sorted Sets
Strings
Strings是一组字节。在Redis数据库中,字符串是二进制安全的。这意味着它们具有已知的长度,并且不受任何特殊的终止字符确定。因此,可以在一个字符串中存储高达512 MB的任何内容。
示例
让我们使用SET命令将字符串名称" Ajeet Kumar"存储在密钥中,然后使用GET命令来检索它。
SET name "Ajeet Kumar"
OK
GET name
"Ajeet Kumar"
在上面的示例中,SET和GET是Redis命令,名称是关键在Redis中使用的" Ajeet Kumar"是Redis中存储的字符串值。
Hashes
哈希是键值对的集合。在Redis中,散列是字符串字段和字符串值之间的映射。因此,它们用于表示对象。
示例
让我们存储包含用户基本信息的用户对象。
HMSET user:1 username ajeet password lidihuo alexa 2000 OK HGETALL user:1 "username" "ajeet" "password" "lidihuo" "alexa" "2000"
此处,HMSET和HGETALL是Redis的命令,而user: 1是
每个散列最多可以存储232-1个字段/值对(超过40亿个)。
Lists
Redis列表定义为字符串列表,按插入顺序排序。您可以将元素添加到头部或尾部的Redis列表中。
示例
lpush lidihuo java (integer) 1 lpush lidihuo java (integer) 1 lpush lidihuo java (integer) 1 lpush lidihuo java (integer) 1 lrange lidihuo 0 10 "cassandra" "mongodb" "sql" "java"
列表的最大长度为232-1个元素(超过40亿个元素每个列表中的元素)。
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 Sets
Redis Sorted Sets类似于Redis集合。它们也是一组非重复的String集合。但是,排序集的每个成员都与一个分数相关联,该分数用于从最小到最大分数中获取排序的排序集。虽然成员是唯一的,但分数可以重复。
示例
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"