Use comando Verificar Redis de: pesquisar grandes quantidades de dados

  Redis tem uma questão clássica, no caso da enorme quantidade de dados, fazer coisas como olhar-se seguir certas regras de informação da chave, existem duas maneiras aqui,

  Em primeiro lugar, as teclas de comando, simples e em bruto, porque o único roscados Redis esta função, teclas de comando está bloqueando o caminho de execução, com base na complexidade das chaves para atravessar o caminho para alcançar é O (n), o mais Redis chave biblioteca, Localizar maior custo perceber a produzir mais tempo de bloqueio.

  comando segunda varredura para encontrar o caminho para alcançar non-blocking valor de chave, na maioria dos casos pode substituir teclas de comando, opcional mais forte

  O seguinte escrito 100,000 chave ***: valor *** formato de dados de teste (ps: se um pipline, soma 1W, cada um soma na segunda etapa é concluída)

  # - * - coding: utf-8 - * -

  #! / Usr / bin / env python3

  Redis importação

  sys importação

  datetime importação

  def create_testdata ():

  r = redis.StrictRedis (host = '***. ***. ***. ***', porta = ***? db = 0, palavra-passe = '***')

  Contador = 0

  com r.pipeline (transação = false) como p:

  para i na gama (0, 100000):

  P.SET ( 'chave' + str (i), "valor" + str (i))

  Contador = Contador + 1

  se (contador == 10000):

  p.execute ()

  Contador = 0

  imprimir ( "definido pelo circuito pipline")

  se __name__ == "__main__":

  create_testdata ()

  Por exemplo, a consulta começando key111 O que há de chave aqui?

  Se você usar teclas de comando, execute as chaves key1111 *, veja tudo de uma vez.

  Da mesma forma, se um comando de digitalização, em seguida, usar varredura key1111 0 partida * Conto 20

  sintaxe verificação é:

  cursor SCAN [padrão de correspondência] [COUNT contagem] o valor de contagem padrão é 10.

  comando de verificação é um iteradores baseados em cursores. Isto significa que o comando é chamado toda vez que uma necessidade de usar isso como uma chamada para retornar os parâmetros de cursor cursor da invocação, a fim de continuar o processo iterativo antes.

  Aqui o uso de varredura 0 jogo key1111 * Contagem 20 comando para completar este inquérito, um tanto surpreendentemente, não começar a usar uma consulta para os resultados, o comando de digitalização a partir do ponto de vista princípio.

  digitalizar quando a chave atravessando, 0 representa a primeira vez, key1111 * de acordo com o modelo representa o início de key1111 jogo, conte 20 não é representativa da saída da chave qualificado 20, mas limitou o número de slots de dicionário uma única passagem através do servidor (aproximadamente iguais).

  Então, o que também é chamado de slot de dados? Este slot não é slot de aglomerado Redis? A resposta é não. Na verdade, a figura tem sido dada a resposta.

  Se ele diz que o número de "dicionário ranhura" é uma slot de cluster, e saber o número de clusters slot é 16384 (RedisCluster projeto 16384 slot), em seguida, depois de atravessar 16.384 entalhes, ele deve ser capaz de atravessar fora de toda a informação chave,

  Acima de ver claramente que quando o número de 20.000 atravessado ranhura dicionário quando o cursor ainda não está concluída através dos resultados, de modo que o dicionário não significa que o conceito de ranhura ranhura no cluster.

  Após o teste, o tempo de verificação, como atravessar muito valor COUNT para coincidir com chave totalmente qualificado, com o número de código específico objetos relacionados

  Se a contagem for superior a tecla numérica para fazer a varredura, você vai definitivamente achar o ponto mais fundamental qualificado, como no caso de um número chave de 10W, uma vez atravessado ranhuras 20w dicionários, certamente atravessar completamente os resultados saem.

  instruções de digitalização é uma série de instruções, além de percorrer toda a chave, mas também pode ser configurado para atravessar o contêiner especificado.

  zscan zset transversal do conjunto de elementos,

  hscan atravessar os elementos de dicionário de hash,

  sscan atravessar os elementos de recolha criadas.

  comando SSCAN, comando HSCAN eo comando primeiro parâmetro ZSCAN é sempre um banco de dados chave (a chave especificada).

  Além disso, ao usar o Redis gerenciador de desktop, ao atualizar uma biblioteca, e constantemente atualizar o console automaticamente comando de digitalização, ele vai saber por que o

  Possui comando de digitalização:  Zhengzhou hospitalar bom ginecológico http://www.kd0371.com/

  1, embora a complexidade é O (n), mas é um passo a passo através do cursor, o fio não será bloqueado;

  2, para fornecer controlos de parâmetros limite o número máximo de resultados retornados de cada vez, apenas uma sugestão limite, os resultados retornados podem ser mais ou menos;

  3, como chaves, ele também fornece uma correspondência de padrão;

  4, o cursor de servidor não precisa salvar o estado, o único estado do cursor é digitalizar as costas cursor para o cliente um inteiro;

  5, os resultados retornados podem se sobrepõem, as necessidades do cliente para repetir, isso é muito importante;

  6, se durante a modificação de dados transversal, os dados não podem atravessar a mudança é incerta;

  7, um único resultado retornado é vazio não significa que o fim do avanço, mas depende do valor devolvido cursor é zero

Acho que você gosta

Origin www.cnblogs.com/gnz49/p/12620380.html
Recomendado
Clasificación