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