我想在 Redis 中使用位圖來存儲(chǔ)位以進(jìn)行分析。但是對(duì)于位圖,需要指定一個(gè)offset位置,使用 cli 它看起來像:> SETBIT mykey <offset> 1通常,偏移量是來自數(shù)據(jù)庫的 ID 值,因此它是唯一且連續(xù)的。但在我的情況下,我不能這樣做,因?yàn)槲乙4娴奈徊皇堑卿浻脩簦蔷W(wǎng)頁上的查看者,所以他們沒有 ID。所以這意味著我需要生成一個(gè)隨機(jī)數(shù)值并將其用作偏移量。我將使用 PHP。到目前為止,我已經(jīng)嘗試過:$id = hexdec( substr( md5($uniqid()), 0, 10 ) );這會(huì)產(chǎn)生整數(shù),例如:584657569161. 如果不需要,我不想使用這么大的整數(shù)作為偏移量。生成一個(gè)唯一數(shù)值的最有效方法是什么,該數(shù)值從一個(gè)小數(shù)字開始,然后會(huì)根據(jù)已經(jīng)出現(xiàn)的觀眾數(shù)量增加?
1 回答

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
這是一種可能對(duì)您有用的方法:
在 Redis 中保留一個(gè)計(jì)數(shù)器,并
INCR
為每個(gè)新的唯一查看器 ID使用 Redis 哈希將您從計(jì)數(shù)器獲得的結(jié)果映射到查看器 ID - 每個(gè)字段都是一個(gè)整數(shù),值是查看器 ID。使用它來將整數(shù) ID 解析為查看器 ID。
使用不同的 Hash 重復(fù)步驟 2,其中字段是查看器 ID,值是整數(shù),并使用它將查看器轉(zhuǎn)換為整數(shù) ID。
- 1 回答
- 0 關(guān)注
- 156 瀏覽
添加回答
舉報(bào)
0/150
提交
取消