# Redis Bitmaps

Redis Bitmaps简介

Redis Bitmaps是字符串数据类型的扩展,可让您将字符串视为位向量。您还可以对一个或多个字符串执行按位运算。Bitmaps用例的一些示例包括:

  • 对于集合的成员对应于整数 0-N 的情况,有效的集合表示。
  • 对象权限,每个位代表一个特定的权限,类似于文件系统存储权限的方式。

# 例子

假设您在现场部署了 1000 个传感器,标记为 0-999。您想快速确定给定传感器是否在一小时内对服务器进行了 ping 操作。

您可以使用其键引用当前时间的位图来表示这种情况。

  • 传感器 123 在 2024 年 1 月 1 日 00:00 时 ping 服务器。
> SETBIT pings:2024-01-01-00:00 123 1
(integer) 0
  • 传感器 123 是否在 2024 年 1 月 1 日 00:00 时 ping 服务器?
> GETBIT pings:2024-01-01-00:00 123
1
  • 服务器456呢?
> GETBIT pings:2024-01-01-00:00 456
0

# 基本命令

  • SETBIT 将提供的偏移量设置为 0 或 1。
  • GETBIT 返回给定偏移量的位值。
  • BITOP 允许您对一个或多个字符串执行按位运算。

请参阅 位图命令的完整列表

# 表现

SETBIT 并且 GETBIT 是 O(1)。 BITOP 是 O(n),其中n是比较中最长字符串的长度。

# 学到更多

  • Redis Bitmaps Explained 教你如何在在线游戏中使用位图进行地图探索。
  • Redis University 的 RU101 详细介绍了 Redis 位图。
Last Updated: 4/18/2023, 8:45:33 AM