sql >> Database >  >> NoSQL >> Redis

Gebruik Redis om een ​​unieke ID te genereren uit een beperkt bereik

Hoe zit het met het gebruik van Bitmaps om op te nemen, voor elk mogelijk nbr , of die waarde al dan niet wordt gebruikt?

Gebruik SETBIT . om vast te leggen dat een waarde is genomen :

SETBIT key [nbr] 1

Een gratis nbr vinden gebruik BITPOS :

BITPOS key 0

Om race-omstandigheden te vermijden, moet je ervoor zorgen dat je set-and-set atomair is. [Het OP behandelt dit in een vervolgvraag.]

Dit vereist zeer weinig geheugen (8K bytes voor 65536 mogelijke waarden). BITPOS is O(n), maar dat is waarschijnlijk geen echt probleem.




  1. Mongodb sorteren met hoofdletterongevoelige manier

  2. Best practices voor MongoDB-beveiliging

  3. Mongoid / Mongodb en ingesloten documenten opvragen

  4. MongoDB telling Commando