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

Множество ключове, сочещи към една стойност в Redis (кеш) с java

Наличието на няколко ключа, сочещи към една и съща стойност, засега не се поддържа в Redis, вижте проблем #2668.

Ще ви трябва заобиколно решение.

Някои идеи по-долу, вероятно очевидни или глупави :)

Може би има междинен ключ:
- user_10id_123
- driver_5id_123
- id_123data_that_you_dont_want_to_duplicate

Можете да внедрите тази логика във вашия клиентски код или в персонализирани Lua скриптове на сървъра и да накарате вашия клиентски код да използва тези скриптове (но аз не знам достатъчно за това, за да предоставя подробности).

Ако внедрите индиректната логика от страна на клиента и ако достъпът е небалансиран, например ще имате достъп до данни чрез потребителски ключ в 99% от времето и чрез ключ на драйвера в 1% от времето, може да си струва да избягвате 2 клиент-сървър двупосочни пътувания за 99% случай. За това можете да кодирате пренасочвания. Например, ако първият знак е # тогава останалото са данните. Ако първият знак е @ тогава останалото е действителният ключ.

  • user_10#data_that_you_dont_want_to_duplicate
  • driver_5@user_10


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да изтрия всичко в Redis?

  2. Laravel идентификатори на всички сесии с драйвер на Redis

  3. Node.js &Redis; Изчаква се цикълът да завърши

  4. Redis:NOAUTH Изисква се удостоверяване, но няма настройка на парола

  5. Намиране на неизтичащи ключове в Redis