sql >> Databáze >  >> NoSQL >> Redis

Pomocí Redis vygenerujte jedinečné ID z omezeného rozsahu

Co takhle použít k záznamu bitmapy pro všechny možné nbr , zda je tato hodnota použita nebo ne?

Chcete-li zaznamenat, že byla přijata hodnota, použijte SETBIT :

SETBIT key [nbr] 1

Chcete-li najít bezplatný nbr použijte BITPOS :

BITPOS key 0

Abyste se vyhnuli závodním podmínkám, budete se chtít ujistit, že váš get-and-set je atomický. [OP to řeší v následné otázce.]

To bude vyžadovat velmi málo paměti (8 kB pro 65 536 možných hodnot). BITPOS je O(n), ale to pravděpodobně nebude skutečný problém.




  1. Jak funguje řazení v novém rozšíření mongodb PECL?

  2. Mongodb:Dotaz na objekt json vnořený do pole

  3. Rámec Django REST stále reaguje s daty uloženými v mezipaměti, i když máte prázdné klíče redis

  4. Připojování k Redis běžícímu v Docker Container z hostitelského počítače