Redis 位字段
Redis 位字段简介
Redis 位字段允许您设置、递增和获取任意位长度的整数值。例如,您可以对从无符号 1 位整数到有符号 63 位整数的任何内容进行操作。
这些值使用二进制编码的 Redis 字符串存储。位字段支持原子读、写和递增操作,使其成为管理计数器和类似数值的良好选择。
基本命令
BITFIELD
以原子方式设置、递增和读取一个或多个值。BITFIELD_RO
是BITFIELD
的只读变体。
示例
假设您想为各种自行车维护两个指标:当前价格和随着时间的推移的拥有者数量。您可以为每辆自行车用一个 32 位宽的位字段来表示这些计数器。
- 自行车 1 的初始价格为 1,000(偏移量 0 处的计数器),并且从未有过主人。在出售后,它现在被认为是二手车,价格立即下降以反映其新状况,并且它现在有一个主人(偏移量 1)。经过一段时间后,自行车成为经典。原主人以盈利的方式将其出售,因此价格上涨,拥有者数量也随之增加。最后,您可以查看自行车的当前价格和拥有者数量。
性能
BITFIELD
为 O(n),其中 n 是访问的计数器数量。