Redis LPOs

Redis LPOs

“As listas Redis são listas vinculadas de strings ordenadas em sequência. As operações da Lista de Redis são extremamente eficazes, pois são executadas na complexidade do tempo constante na cabeça ou na cauda. Redis é único entre as lojas de valor-chave, pois permite listas vinculadas, o que a torna uma estrutura da lista vinculada. O comprimento máximo de uma lista de Redis é de 2^32 - 1 (4.294.967.295) elementos, que contêm mais de 4 bilhões de elementos por lista.”

O diagrama acima descreve o arranjo de uma lista Redis em termos de elementos e no formato do índice, que desempenha um papel vital ao usar o comando LPOS.

Breve visão geral do comando LPOS

O comando LPOS em Redis retorna o índice correspondente dos elementos em uma lista. Além disso, o comando LPOS digitaliza uma lista do primeiro índice para o último índice até que um elemento correspondente seja encontrado para o elemento especificado. Quando o elemento de lista especificado é encontrado, o índice de elementos é retornado. O especial NADA o valor retornará quando nenhuma correspondência for encontrada.

Uma rápida revisão da sintaxe do comando LPOS

LPOs list_key list_element [classificação de classificação] [Conde Numatches] [Maxlen Comprimento]

Os argumentos dentro dos colchetes são opcionais. O comportamento normal do comando LPOS é retornar o índice da primeira ocorrência do elemento especificado quando argumentos opcionais não são dados.

O CLASSIFICAÇÃO A opção é usada para especificar qual instância do valor retornar e pode ser útil quando a lista consiste em inúmeras ocorrências do mesmo valor.

O CONTAR Opção Retorna a posição de várias instâncias do elemento de lista especificado.

O Maxlen a opção é usada para limitar as comparações a uma quantidade especificada. Além disso, ajuda a limitar a quantidade de tempo que um comando leva para executar, especialmente quando é uma lista grande e ao esperar que uma correspondência seja encontrada no início.

O comando LPOS em ação

Criando uma lista Redis chamada "Nomes" com a ajuda do RPUSH para demonstrar o comando LPOS da seguinte maneira:

Rpush nomeia "Jenny" "Leon" "Nick" "Jenny" "Heron" "Jenny" "Elle" "Heron"

Resultado

Inspecionando a saída da lista através do comando abaixo:

Nomes lRange 0 -1

Resultado

Usando o comando LPOS para encontrar a primeira instância de "Jenny" da seguinte maneira:

Lpos nomes "Jenny"

Resultado

Como mencionado, quando nenhum argumento opcional é especificado, o comando LPOS retorna a primeira ocorrência do elemento.

A opção de classificação

Esta opção especifica a instância do valor a ser retornada e é útil quando a lista contém múltiplas ocorrências do valor idêntico.

A lista criada contém múltiplas ocorrências de Jenny e Garça. No exemplo anterior, como a opção de classificação não foi especificada, a primeira instância do elemento foi retornada como saída.

Usando a opção de classificação para retornar a posição da segunda instância de Jenny Usando o exemplo abaixo:

Nomes de LPOs "Jenny" Rank 2

Resultado

Aqui o CLASSIFICAÇÃO a opção é especificada como 2. Portanto, o comando LPOS retorna a posição da segunda instância do elemento de lista fornecida, que é 3. Se a opção de classificação for fornecida como 1, ela deverá retornar a primeira instância do elemento especificado; Se 2 for fornecido, ele gera o índice da segunda instância; 3 produz o índice da terceira instância e assim por diante.

Se uma classificação for especificada maior que o número de ocorrências, ele retornará nada:

Nomes de LPOs "Jenny" Rank 20

Resultado

Além disso, a opção de classificação pode ser usada como uma classificação negativa, onde trabalha para trás da cauda da lista:

Nomes de LPOs "Jenny" Rank -1

Resultado

Aqui, -1 é usado para retornar a posição da última ocorrência do valor. Nesse caso, a posição de "Jenny" é o quinto índice.

A opção de contagem

Esta opção é usada para retornar a posição de várias instâncias de um valor ou elemento especificado:

Nomes de LPOs "Jenny" Count 2

Resultado

Além disso, essa opção pode ser usada para retornar a posição de todas as instâncias. Aqui, uma pessoa pode usar zero (0) para dizer ao comando para retornar todas as partidas de acordo com a necessidade:

Nomes de LPOs "Jenny" Count 0

Resultado

A opção de contagem pode ser combinada com a opção de classificação para retornar todas as instâncias de um determinado ponto da seguinte maneira:

Nomes de LPOs "Jenny" classificam 2 contagem 0

Resultado

A opção Maxlen

O maxleno é usado para limitar as comparações a uma quantidade especificada e é útil para limitar a quantidade de tempo que o comando leva para processar em momentos em que a lista é grande e uma pessoa precisa encontrar uma correspondência cedo.

Por exemplo,

Nomes de LPOs "Jenny" Maxlen 2

Resultado

Aqui quando a partida é encontrada, ele retorna a posição ou índice do elemento especificado.

Ao usar um valor diferente:

LPOs nomes "elle" maxlen 2

Resultado

Como esperado, o elemento "elle" não é encontrado dentro do limite máximo especificado de 2.

Além disso, uma pessoa pode usar zero (0) para especificar um número ilimitado de comparações,

LPOs nomes "elle" maxlen 0

Resultado

Conclusão

Em resumo, o comando LPOS desempenha um papel importante nas estruturas de dados da lista Redis ao retornar o índice dos elementos correspondentes em uma lista. O comando LPOS aceita vários argumentos que estendem o comportamento do comando. No geral, ele opera constantemente perto da cabeça e da cauda, ​​ou a opção Maxlen é especificada, o que é altamente eficiente.