--------------- Redis cinco tipos de dados e cenários de aplicação --------------------------- ------
String: Geral Cache fazer alguma função de contagem complicada da
lista: fazer simples fila de mensagens funções
Hash: Single Sign
Set: Funções globais de fazer heavy
SortedSet: que aplicativo gráfico, tome operação TopN; tarefa demora; fazer gama procurar
------------------------------------ Redis bloqueio distribuídos --------- redis transação distribuída ----------------------------------------
O que transações distribuídas:
Vários serviços ao mesmo registros Modificar tempo, para garantir a consistência dos dados.
ideias distribuídos:
- Ao definir um único Redis bloqueio, se houver chave, acredita-se há outros clientes em uso, à espera do desbloqueio.
- Se a chave não estiver presente, indicando que nenhum cliente está usando, você pode executar a tarefa estiver concluída, desbloqueio, tecla delete.
-
Problemas 1:
Depois de adquirir o tempo de inatividade de bloqueio, serviço, porque a chave é única, não pode ser excluído.
Problema 1 Solution
Definir um tempo de expiração.
Pergunta 2 existe
execução da tarefa é muito longa, mais do que o tempo de expiração.
Problema Solução 2
Por um fio daemon para enfiar a vida continua.
3 problemas:
execução da tarefa causado por um loop infinito, criando uma vida contínua infinita.
Pergunta 3 Solução:
Define o tempo máximo continuou vida.