Estrutura e operação de dados comuns do Redis

O Redis suporta uma variedade de tipos de dados que permitem armazenar e manipular diferentes tipos de dados. A seguir estão os principais tipos de dados suportados pelo Redis :

  1. Strings: O tipo de dados mais básico, que pode armazenar texto ou dados binários. No Redis, o comprimento máximo de uma string é de 512 MB.
  2. Hashes: Uma coleção de hashes usada para armazenar pares chave-valor. Cada hash pode conter vários campos e valores correspondentes, adequados para armazenar objetos ou dados associativos.
  3. Listas: Uma lista ordenada de strings que permite a inserção e exclusão de elementos em ambas as extremidades da lista. Ele pode ser usado para implementar estruturas de dados, como filas ou pilhas.
  4. Conjuntos: Uma coleção não ordenada de strings que não permitem elementos duplicados. Operações definidas como união, interseção e diferença podem ser executadas.
  5. Conjuntos Ordenados: Similares aos conjuntos, porém cada membro é associado a uma pontuação (score), que pode ser utilizada para ordenação e classificação. Os elementos de um conjunto ordenado são únicos, mas as pontuações podem ser repetidas.
  6. Dados geoespaciais (GeoSpatial): um tipo de dados suportado pelo Redis 3.2 e superior, usado para armazenar localização geográfica e informações de latitude e longitude e dar suporte a consultas de localização geográfica.

1 corda

# 设置字符串键 "username" 的值为 "Alice"
SET username "Alice"

# 获取字符串键 "username" 的值
GET username
# 输出: "Alice"

# 自增计数器 "visits"
INCR visits
# 输出: (当前计数值)

# 设置带有过期时间的缓存
SET user:1234 "{\"name\": \"Bob\", \"email\": \"[email protected]\"}" EX 3600
# 设置键 "user:1234" 的值为 JSON 格式的数据,并在 3600 秒后过期

# 获取缓存数据
GET user:1234
# 输出: "{\"name\": \"Bob\", \"email\": \"[email protected]\"}"

# 删除某一个键
# DEL key [key ...]
DEL username
# 设置某个键,让它在规定时间内消失
SETEX key seconds value

# 方式1 
SETEX name 20 "Alice"

# 方式2 
GETSET name "Alice"
EXPIRE name 20


comando de operação hash hash

  • Valor do campo chave HSET significa: definir o valor do campo campo na chave da tabela hash para valor
  • Campo-chave HGET significa: Obtenha o valor armazenado no campo especificado na tabela de hash
  • Campo-chave HDEL significa: exclua o campo especificado armazenado na tabela de hash
  • Chave HKEYS significa: Obtenha todos os campos na tabela de hash
  • Chave HVALS significa: Obtenha todos os valores​​na tabela de hash
  • Chave HGETALL significa: obter todos os campos e valores da chave especificada na tabela de hash
  • O campo-chave HEXISTS significa: verifique se o campo hash existe
  1. HSET: define o valor de um campo hash.
HSET user:123 name "Alice"

Isso definirá o valor do campo "nome" como "Alice" no hash denominado "usuário:123".
2. HGET: Obtém o valor do campo hash.

HGET user:123 name

Isso retornará o valor do campo "nome" no hash "usuário:123", que é "Alice".

  1. HMSET: Defina vários campos de hash e seus valores ao mesmo tempo.
HMSET user:123 name "Alice" age 30 email "[email protected]"

Isso definirá o campo "name" como "Alice", o campo "age" como 30 e o campo "email" como "[email protected]" no hash "user:123".

  1. HDEL: Exclua um ou mais campos de hash.
HDEL user:123 email

Isso removerá o campo "email" e seu valor correspondente do hash "user:123".

  1. HINCRBY: Executa uma operação de incremento no valor de um campo hash.
HINCRBY user:123 age 5

Isso aumentará o valor do campo "age" no hash "user:123" em 5.

  1. HLEN: Obtenha o número de campos no hash.
HLEN user:123

O comando de operação da lista lista

  • Chave LPUSH valor1 [valor2] Inserir um ou mais valores no topo da lista
  • RPUSH key value1 insere um ou mais elementos no final da lista
  • LRANGE tecla start stop Obtém os elementos no intervalo especificado na lista
  • A chave LLEN obtém o comprimento da lista (ou seja, o número de elementos na lista)
  • A chave RPOP remove e obtém o último elemento da lista
  • A tecla LPOP remove e retorna o elemento principal da lista
  • Índice de chave LINDEX Obtém o elemento na posição de índice especificada na lista
  • Chave LINSERT BEFORE|AFTER valor pivô : Insere novos elementos antes ou depois do pivô do elemento especificado na lista.
  • Elemento de índice de chave LSET Define o valor do elemento na posição de índice especificada na lista

LTRIM key start stop: Mantenha os elementos dentro do intervalo especificado na lista e outros elementos serão excluídos.
Tempo limite da tecla BLPOP [chave …]: remove e retorna de forma bloqueada os elementos principais de várias listas ou aguarda o tempo limite especificado se a lista estiver vazia.
Tempo limite da chave BRPOP [chave …]: remove e retorna de forma bloqueada os elementos finais de várias listas ou aguarda o tempo limite especificado se a lista estiver vazia.
Destino de origem RPOPLPUSH: remova o elemento final da lista de origem e inclua-o no início da lista de destino.
Elemento-chave LPOS [RANK rank] [COUNT num]: Obtém a posição do índice do elemento especificado na lista. O parâmetro opcional RANK pode ser usado para especificar de qual índice iniciar a pesquisa e COUNT pode ser usado para especificar o número de elementos correspondentes a serem retornados.

LPUSH root_name zhs
LPUSH root_name wb
LPUSH root_name mhf

Veja os elementos no intervalo

127.0.0.1:6379> LRANGE root_name 0 2
1) "mhf"
2) "wb"
3) "zhs"

operação de conjunto de coleta

  • Membro chave SADD Adiciona um ou mais membros ao conjunto.
 sadd myset a b c d
  • A chave SMEMBERS retorna todos os membros do conjunto.
 smembers myset
  • Chave SCARD :
    Retorna o número de membros do conjunto, que é a cardinalidade do conjunto.
scard myset
  • SINTER key1 [key2] Retorna a interseção dos conjuntos dados, ou seja, retorna membros que existem em todos os conjuntos ao mesmo tempo
127.0.0.1:6379> sadd myset2 a f c 
(integer) 3
127.0.0.1:6379> sinter myset myset2
1) "a"
2) "c"
  • SUNION key1 [key2] retorna a união de conjuntos múltiplos fornecidos, ou seja, retorna os membros únicos em todos os conjuntos
127.0.0.1:6379> sunion myset myset2
1) "c"
2) "d"
3) "b"
4) "f"
5) "a"
  • SDIFF key1 [key1] Retorna a diferença dos conjuntos fornecidos, ou seja, retorna os membros que existem no primeiro conjunto, mas não nos outros conjuntos.
127.0.0.1:6379> sdiff myset myset2
1) "b"
2) "d"
  • SREM key1 [key2] remove um ou mais membros do conjunto.
127.0.0.1:6379> SREM myset a b
(integer) 2

Comando de operação de conjunto ordenado definido

O conjunto classificado do Redis é uma coleção de elementos do tipo String e não permite membros duplicados. Cada elemento será associado a uma pontuação do tipo duplo (score). É por meio dessa pontuação que o redis classifica os elementos do conjunto de menor para maior.Os membros do conjunto ordenado são únicos, mas as pontuações podem ser repetidas.

  1. Membro de pontuação chave ZADD [membro de pontuação ...]: Adicione um ou mais membros e suas pontuações correspondentes ao conjunto classificado.
127.0.0.1:6379> zadd scores 100 "Alice" 85 "wb" 110 "zhs" 140 "cx"
(integer) 4
  1. Tecla ZCARD Obtém o número de membros do conjunto ordenado
ZCARD scores
  1. Obtenha a pontuação do membro especificado: membro-chave ZSCORE
ZSCORE scores "Charlie"
输出
127.0.0.1:6379> ZSCORE scores "zhs"
"110"
  1. O membro de incremento de chave ZINCRBY aumenta a pontuação do membro especificado
 zincrby scores 10 "zhs" 
"120"
  1. Membro-chave ZREVRANK Obtém a classificação do membro especificado no conjunto classificado (classificado por pontuação de alto a baixo):
127.0.0.1:6379> zrevrank scores "zhs"
(integer) 1

6. Remova os membros do conjunto classificado: membro da chave ZREM

127.0.0.1:6379> zrem score "wb"
(integer) 0

Comandos comuns do Redis

  • Padrão KEYS Ver todos elegíveis
  • A chave EXISTS verifica se a chave fornecida existe
  • A tecla TYPE retorna o tipo armazenado pela tecla
  • tecla DEL tecla delete

Guess you like

Origin blog.csdn.net/qq_41661809/article/details/131825174