为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Redis 位图随机数字 ID 作为偏移量

使用 Redis 位图随机数字 ID 作为偏移量

PHP
慕运维8079593 2022-08-05 09:50:49
我想在 Redis 中使用位图来存储位以进行分析。但是对于位图,有必要指定一个位置,使用cli它看起来像这样:offset> SETBIT mykey <offset> 1通常,偏移量是数据库中的 ID 值,因此它是唯一且按顺序排列的。但在我的情况下,我不能这样做,因为我想保存的位不是登录用户,而是网页上的查看者,所以他们没有ID。这意味着我需要生成一个随机数值并将其用作偏移量。我将使用PHP。到目前为止,我已经尝试过这个:$id = hexdec( substr( md5($uniqid()), 0, 10 ) );这将产生整数,例如:。如果我不需要,我不想使用这么大的整数作为偏移量。生成唯一数值的最有效方法是什么,该值将从较小的数字开始,但随后将根据已经存在的查看者数量增加?584657569161
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

以下是可能适合您的方法:

  1. 在 Redis 中保留一个计数器,并为每个新的唯一查看者 ID 保留一个计数器INCR

  2. 使用 Redis 哈希将计数器获得的结果映射到查看器 ID - 每个字段都是一个整数,值是查看器 ID。使用此选项可将整数 ID 解析为查看器 ID。

  3. 使用不同的 Hash 重复步骤 2,其中字段是查看器 ID,值是整数,并使用它来将查看器转换为整数 ID。


查看完整回答
反对 回复 2022-08-05
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信