Redis
 sql >> база данни >  >> NoSQL >> Redis

Използвайте Redis, за да генерирате уникален идентификатор от ограничен диапазон

Какво ще кажете да използвате растерни изображения за запис за всеки възможен nbr , дали тази стойност се използва или не?

За да запишете, че е взета стойност, използвайте SETBIT :

SETBIT key [nbr] 1

За да намерите безплатен nbr използвайте BITPOS :

BITPOS key 0

За да избегнете условията на състезание, трябва да се уверите, че вашият набор е атомичен. [ОП разглежда това в последващ въпрос.]

Това ще изисква много малко памет (8K байта за 65536 възможни стойности). BITPOS е O(n), но това е малко вероятно да е истински проблем.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis :Как мога да сортирам хеша си по ключове?

  2. Коя noSQL база данни е най-добра за вмъкване/запис с голям обем?

  3. Spring RedisConnectionFactory с транзакция, която не връща връзката към пула и след това се блокира при изчерпване

  4. Трябва ли `StackExchange.Redis.ConnectionMultiplexer` да бъде `AddSingleton` или `AddScope` в .NET Core инжекция на зависимост?

  5. Node.js мултисървърен клъстер:как да споделяте обект в клъстер с няколко възли