Redis:Redis的数据类型介绍

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

1. String(字符串)

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

示例

设置键值对  
SET key "value"  
  
获取值  
GET key  
  
递增整数值  
INCR counter

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

2. List(列表)

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

示例

在列表左侧插入元素  
LPUSH mylist "one"  
  
在列表右侧插入元素  
RPUSH mylist "two"  
  
获取列表中的元素  
LRANGE mylist 0 -1  

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

3. Hash(哈希)

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

示例

设置哈希中的字段  
HSET myhash field1 "Hello"  
  
获取哈希中的字段值  
HGET myhash field1  
  
获取哈希中所有的字段和值  
HGETALL myhash

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

4. Set(集合)

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

示例

添加元素到集合  
SADD myset "member1"  
  
检查元素是否在集合中  
SISMEMBER myset "member1"  
  
获取集合中的所有元素  
SMEMBERS myset

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

5. Sorted Set(有序集合)

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

示例

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

常用命令

在这里插入图片描述

6. HyperLogLogs(基数统计)

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

示例

添加元素到 HyperLogLog  
PFADD hll_key "element1" "element2" ...  
  
估算 HyperLogLog 中的基数  
PFCOUNT hll_key

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

7. Bitmap(位图)

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

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

SETBIT key offset value 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)GETBIT key offset 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)BITCOUNT key [start] [end] 命令用于计算给定字符串中,被设置为 1 的比特位的数量。
设置位图
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

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

9. Stream(流)

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

示例:

 添加消息到流  
XADD mystream * field1 value1 field2 value2  
  
 读取流中的消息  
XRANGE mystream
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值