我想在 Redis 中使用位圖來存儲位以進行分析。但是對于位圖,需要指定一個offset位置,使用 cli 它看起來像:> SETBIT mykey <offset> 1通常,偏移量是來自數據庫的 ID 值,因此它是唯一且連續的。但在我的情況下,我不能這樣做,因為我要保存的位不是登錄用戶,而是網頁上的查看者,所以他們沒有 ID。所以這意味著我需要生成一個隨機數值并將其用作偏移量。我將使用 PHP。到目前為止,我已經嘗試過:$id = hexdec( substr( md5($uniqid()), 0, 10 ) );這會產生整數,例如:584657569161. 如果不需要,我不想使用這么大的整數作為偏移量。生成一個唯一數值的最有效方法是什么,該數值從一個小數字開始,然后會根據已經出現的觀眾數量增加?
1 回答

慕桂英546537
TA貢獻1848條經驗 獲得超10個贊
這是一種可能對您有用的方法:
在 Redis 中保留一個計數器,并
INCR
為每個新的唯一查看器 ID使用 Redis 哈希將您從計數器獲得的結果映射到查看器 ID - 每個字段都是一個整數,值是查看器 ID。使用它來將整數 ID 解析為查看器 ID。
使用不同的 Hash 重復步驟 2,其中字段是查看器 ID,值是整數,并使用它將查看器轉換為整數 ID。
- 1 回答
- 0 關注
- 150 瀏覽
添加回答
舉報
0/150
提交
取消