当前位置:   article > 正文

Redis:Redis的数据类型介绍_简述redis的数据类型

简述redis的数据类型

Redis 支持多种数据类型,每种数据类型都有其特定的用途和优势。以下是 Redis 中主要数据类型的介绍:

1. String(字符串)

介绍:最基本的 Redis 数据类型,通常用于缓存和存储经常需要读取的数据。

示例

设置键值对  
SET key "value"  
  
获取值  
GET key  
  
递增整数值  
INCR counter
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

常用命令
在这里插入图片描述

2. List(列表)

介绍:一个链表结构,可以在列表的头部或尾部添加/删除元素。

示例

在列表左侧插入元素  
LPUSH mylist "one"  
  
在列表右侧插入元素  
RPUSH mylist "two"  
  
获取列表中的元素  
LRANGE mylist 0 -1  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

常用命令
在这里插入图片描述

3. Hash(哈希)

介绍:一个键值对的集合,其中每个键都是唯一的字符串,而每个值可以是字符串、列表、集合等类型。

示例

设置哈希中的字段  
HSET myhash field1 "Hello"  
  
获取哈希中的字段值  
HGET myhash field1  
  
获取哈希中所有的字段和值  
HGETALL myhash
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

常用命令
在这里插入图片描述

4. Set(集合)

介绍:一个无序的字符串集合,成员是唯一的,不重复。

示例

添加元素到集合  
SADD myset "member1"  
  
检查元素是否在集合中  
SISMEMBER myset "member1"  
  
获取集合中的所有元素  
SMEMBERS myset
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

常用命令
在这里插入图片描述

5. Sorted Set(有序集合)

介绍:与集合类似,但每个元素都会关联一个分数(或称为“score”),用于排序。

示例

 添加元素到有序集合,并指定分数  
ZADD mysortedset 1 "one"  
ZADD mysortedset 2 "two"  
  
获取有序集合中的所有元素(按分数排序)  
ZRANGE mysortedset 0 -1 WITHSCORES  
  
 获取分数在指定范围内的元素  
ZRANGEBYSCORE mysortedset 1 2 WITHSCORES
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

常用命令

在这里插入图片描述

6. HyperLogLogs(基数统计)

介绍:用于估算集合中不同元素的数量,但不需要存储这些元素本身。它使用概率算法来估算,因此结果可能不是完全准确的,但内存使用非常少。

示例

添加元素到 HyperLogLog  
PFADD hll_key "element1" "element2" ...  
  
估算 HyperLogLog 中的基数  
PFCOUNT hll_key
  • 1
  • 2
  • 3
  • 4
  • 5

常用命令
在这里插入图片描述

7. Bitmap(位图)

介绍:Bitmap(位图)并不是直接提供的一个命令或数据结构,但 Redis 的字符串(string)类型可以用来实现位图(Bitmaps)的功能。位图是一个用于表示一组二进制位的数据结构,常用于高效地进行位运算,如统计用户签到、统计独立用户数等场景。

Redis 中,你可以使用 SETBITGETBITBITCOUNT 等命令来操作位图。

SETBIT key offset value 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)GETBIT key offset 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)BITCOUNT key [start] [end] 命令用于计算给定字符串中,被设置为 1 的比特位的数量。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
设置位图
SETBIT test 7 1  
SETBIT test 10 1  
SETBIT test 15 0  
SETBIT test 30 1



获取位图上的位
GETBIT test 7    结果输出: 1  
GETBIT test 10   结果输出: 1  
GETBIT test 15   结果输出: 0  
GETBIT test 30   结果输出: 1


计算位图中被设置为 1 的位数
BITCOUNT test       结果输出: 3
BITCOUNT test 0 10  结果输出: 2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

8. Geospatial(地理空间)

介绍:Redis 支持存储地理位置信息,并可以基于位置信息进行查询(例如,查找附近的位置)。

示例

添加地理位置  
GEOADD Sicily 13.3615386 38.115556 "Palermo" 15.087269 37.502669 "Catania"  
  
获取两个位置之间的距离  
GEODIST Sicily Palermo Catania km  
  
获取位置范围内的所有其他位置  
GEORADIUS Sicily 15 37 100 km WITHDIST
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

9. Stream(流)

介绍:Redis Stream 是 Redis 5.0 引入的一种新数据结构,用于实现消息队列。它允许消费者按照消息的插入顺序读取消息,并支持持久化。

示例:

 添加消息到流  
XADD mystream * field1 value1 field2 value2  
  
 读取流中的消息  
XRANGE mystream
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/955519
推荐阅读
相关标签
  

闽ICP备14008679号