Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Várias chaves apontando para um único valor no Redis (Cache) com java


Ter várias chaves apontando para o mesmo valor não é compatível com o Redis por enquanto, consulte o problema nº 2668.

Você precisaria de uma solução alternativa.

Algumas ideias abaixo, possivelmente óbvias ou estúpidas :)

Talvez tenha uma chave intermediária:
- user_10id_123
- driver_5id_123
- id_123data_that_you_dont_want_to_duplicate

Você pode implementar essa lógica em seu código cliente ou em scripts Lua personalizados no servidor e fazer com que seu código cliente use esses scripts (mas não sei o suficiente sobre isso para fornecer detalhes).

Se você implementar a lógica de indireção no lado do cliente, e se os acessos estiverem desbalanceados, por exemplo, você acessaria dados via chave de usuário 99% das vezes e via chave de driver 1% das vezes, pode valer a pena evitar 2 cliente-servidor ida e volta para o caso de 99%. Para isso, você pode codificar redirecionamentos. Por exemplo, se o primeiro caractere for # então o resto são os dados. Se o primeiro caractere for @ então o resto é a chave real.
  • user_10#data_that_you_dont_want_to_duplicate
  • driver_5@user_10