2016-03-27 16 views
0

私はRedisを勉強しています.INCRを使用して一意のユーザーIDを生成するのが良いかどうか、もしそうでない場合は、問題に。注意:この質問には他のデータベースは含まれていないと仮定しますRedisでユーザーIDを保存するためのベストプラクティス

ランダムなuuid()を生成してそれを使用するアプローチが考えられますが、両方のアプローチが受け入れ可能な場合は、どのようなトレードオフですか? INCRがアトミックであるため、これは有効なアプローチである

uid = db.incr("users:enum") 
pipe = db.pipeline() 
pipe.set("users:%s:uid" % username, uid) 
pipe.set("users:%s" % username, password_hash) 
pipe.sadd("users", username) 
+0

トレードオフは最小ですが、プロセスID、タイムスタンプなど、プロセスがすでに「知っている」など、プロセスを通過する必要なく、「uuid()」などのものを使用する方が高速になる可能性があります。レディスへの操作は軽微な遅延を招く可能性があります。 – woozyking

答えて

0

は、ここで私はこれを行うオンラインを発見したいくつかのサンプルコードです。実際には、この方法に続くredis.ioにtutorialがあります。

関連する問題