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

Как да използвате ключове за пространство от имена на redis, за да избегнете сблъсъци с имена?

Решение 1:Съхранявайте данни от различни модули в различни екземпляри на Redis

Най-строгото изолиране е съхраняването на данни за всеки модул в отделен екземпляр на Redis, т.е. индивидуален процес на Redis.

Решение 2:Съхранявайте данни от различни модули в различни бази данни на един екземпляр на Redis

Един екземпляр на Redis може да има множество бази данни и можете да конфигурирате броя на базите данни в конфигурационния файл. По подразбиране има 16 бази данни.

Тези бази данни са именувани с числов индекс, базиран на нула. С командата select можете да използвате ith база данни. След избора всички следващи команди ще работят на ith база данни.

Така че, ако зададете независима база данни за всеки модул, можете да избегнете сблъсъци на имена.

ЗАБЕЛЕЖКА :това решение НЕ РАБОТИ с Redis Cluster . Redis Cluster ви позволява да използвате само 0-та база данни.

Решение 3:Създайте пространство от имена с ключов префикс

Ако всичките ви данни трябва да се съхраняват в една база данни, все пак можете имплицитно да създадете пространство от имена с ключов префикс . За всеки модул всички данни на този модул трябва да имат един и същ ключов модел:ModuleName:KeyName , т.е. всеки ключ на този модул има един и същ префикс:ModuleName .

Тъй като всеки модул има различно име, няма да има сблъсъци на имена между тези модули:

// Set keys for module1
SET module1:key1 value
SET module1:key2 value

// Set keys for module2
SET module2:key1 value
SET module2:key2 value

ЗАБЕЛЕЖКА :това решение работи и с Redis Cluster .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Опашка за задания с redis, използвайки BLPOP

  2. използване на Async в транзакция в приложението Spring

  3. Не можа да се свърже с Redis на 127.0.0.1:6379:Връзката е отказана

  4. Пробиване на взаимодействията на Redis в javascript с помощта на Sinon

  5. какво представляват pagecache, dentries, inodes?