Linear Congruential Generators ( http://en.wikipedia.org/wiki/Linear_congruential_generator ) を使用して、ユーザーに公開される ID を生成します。
nextID = (a * LastID + c) % m
今、Redis で LCG を実装したいと考えています。ここに問題があります: 現在の ID を取得し、Redis の外部で次の ID を生成することは、マルチユーザーに対して安全ではありません。Redis には単純なカウンターに使用できる 2 つのコマンドがあります: INCRBY と INCRBYFLOAT ですが、残念ながら Redis はモジュロ操作をネイティブでサポートしていません。現時点では、EVAL コマンドを使用して lua スクリプトを作成する方法しかありません。
更新1:
いくつかの lua アナログ
INCRBY LCG_Value ((LCG_Value*a+c)%m)-LCG_Value
これを達成するためのきちんとした方法のようです。