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 :
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 valoresna 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
- 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".
- 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".
- 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".
- 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.
- 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.
- 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
- Tecla ZCARD Obtém o número de membros do conjunto ordenado
ZCARD scores
- Obtenha a pontuação do membro especificado: membro-chave ZSCORE
ZSCORE scores "Charlie"
输出
127.0.0.1:6379> ZSCORE scores "zhs"
"110"
- O membro de incremento de chave ZINCRBY aumenta a pontuação do membro especificado
zincrby scores 10 "zhs"
"120"
- 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