minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Um banco de dados relacional é um banco de dados estruturado, criado em um banco de dados de modelo relacional e orientado a registros.
Bancos de dados relacionais comuns: Oracle, MySQL, SQL Server, Microsoft Access, DB2.
NOSQL=Not Only SQL é o termo geral para bancos de dados não relacionais. Dependendo do método de armazenamento, da estrutura de armazenamento e dos cenários de uso, ele é chamado de banco de dados não relacional. Bancos de dados diferentes dos bancos de dados relacionais convencionais podem ser chamados de bancos de dados não relacionais.
Bancos de dados não relacionais comuns: Redis, MongoDB, Hbase, CouhDB.
Redis é um banco de dados Nosql de código aberto escrito em linguagem C. Ele é executado com base na memória e oferece suporte à persistência. Ele adota a forma de armazenamento de valor-chave (par de valores-chave). Seu número de porta é 6379.
1. Instale o Redis
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y instalar gcc* zlib-devel
[root@localhost ~]#tar xvzf redis-4.0.9.tar.gz
[root@localhost ~]#cd redis-4.0.9/
[root@localhost redis-4.0.9]# fazer
Perceber:
Uma mensagem de erro será gerada após make,
solução:
Solução 1: Use make MALLOC=libc para especificar o alocador de memória para compilar para libc
Solução 2: make clean && make distclean
[root@localhost redis-4.0.9]# make PREFIX=/usr/local/redis install
[utilitários root@localhost]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-4.0.9]# cd utils/
Entre eles: install_server.sh é o script de inicialização
[utilitários root@localhost]# ./install_server.sh
Selecione o caminho executável do redis [] /usr/local/redis/bin/redis-server(forneça o caminho do executável)
Visualize o controle de processos e serviços
[utilitários root@localhost]# netstat -anpt | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* ESCUTAR 5360/redis-server 1
[utilitários root@localhost]# /etc/init.d/redis_6379 stop(redis está fechado)
[utilitários root@localhost]# /etc/init.d/redis_6379 start(sobre)
[utilitários root@localhost]# /etc/init.d/redis_6379 status (estado)
Modificação de parâmetros de configuração
[root@localhost ~]#vim /etc/redis/6379.conf
vincular 127.0.0.1 192.168.10.101//Escutando endereço do host
porto 6379 //porta
demonizar sim //Habilita processo daemon
arquivo pid /var/run/redis_6379.pid //Especifica o arquivo PID
aviso de nível de log//nível de registro
arquivo de log /var/log/redis_6379.log//Especifica o arquivo de log
[root@localhost~]#/etc/init.d/redis_6379 reiniciar
2. ferramenta de comando redis
[utilitários root@localhost]# redis-cli(Login local)
[utilitários root@localhost]# redis-cli -h 192.168.10.101 -p 6379(login remoto)
192.168.10.101:6379> ping(O serviço de detecção está funcionando normalmente)
PONG
3: ferramenta de teste de benchmark redis
redis-benchmark é a ferramenta oficial de teste de desempenho do Redis que pode testar com eficácia o desempenho dos serviços Redis.
(1) Desempenho da solicitação de teste
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -c 100 -n 100000
Observação:
-h: Especifique o nome do host do servidor;
-p: Especifique a porta do servidor;
-c: Especifique o número de conexões simultâneas;
-n: Especifique o número de solicitações;
(2) Teste o desempenho do acesso
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -q -d 100
Observação:
-h: Especifique o nome do host do servidor;
-p: Especifique a porta do servidor;
-d: Especifique o tamanho dos dados do valor SET/GET em bytes;
-q: Força o encerramento do redis. Somente valores de consulta/seg são exibidos;
set armazena dados comando formato definir valor chave
get Obter formato de comando de dados obter chave
1. Adicione pares de valores-chave
127.0.0.1:6379> conjunto 1 1
OK
127.0.0.1:6379> conjunto 2 2
OK
127.0.0.1:6379> conjunto 3 3
OK
2. Visualize todos os valores no banco de dados
127.0.0.1:6379> chaves *
1) "3"
2) "1"
3) "2"
3. Visualize os dados começando com v no banco de dados
127.0.0.1:6379>CHAVES v*
4. Visualize todos os dados começando com v no banco de dados
127.0.0.1:6379>CHAVES v?
5.Visualize o banco de dados atual com você começoO seguinte contém quaisquer dois dígitos de dados
127.0.0.1:6379>CHAVES v??
Determine se o valor existe.
127.0.0.1:6379>existe f5Determine se f5 existe
(inteiro) 1 O resultado é 1, indicando que a tecla f5 existe
como
(inteiro) 0 O resultado é 0, indicando que a tecla f5 não existe
do O comando pode excluir o especificado chave
127.0.0.1:6379> do v5 Exclua v5 no banco de dados
(inteiro) 1
127.0.0.1:6379>obter v5
(nada)
usar tipo O comando pode ser obtido chave correspondente valor tipo de valor
127.0.0.1:6379>tipo k1
corda
Observação:
Tipos de dados suportados pelo redis
renomear O comando é para um existente chave renomear
No uso real, é recomendado usar existe Comando para visualizar o alvo chave existe e então decidir se deseja executar renomear comando para evitar a substituição de dados importantes.
127.0.0.1:6379>renomear v22 v2 Renomear v22 para v2
OK
renomear A função do comando é modificar o existente chave Execute uma renomeação e verifique se o novo nome existe.
usarrenomear Quando o comando for renomeado, se o destino chave Se existir, não será renomeado.
tamanho do banco de dados O objetivo do comando é visualizar o banco de dados atual chave Número de.
127.0.0.1:6379> tamanho do banco de dados
(inteiro) 5
Redis Incluído por padrão sem quaisquer alterações 16 banco de dados, o nome do banco de dados é um número 0-15 ser nomeado em ordem
(1)Mude para o número de série 10 base de dados
127.0.0.1:6379>selecione 10
OK
(2)Mude para o número de série 15 base de dados
127.0.0.1:6379[10]>selecione 15
OK
(3)Mude para o número de série 0 base de dados
127.0.0.1:6379[15]>selecione 0
127.0.0.1:6379>conjunto k1 100 Crie k1 no banco de dados 0
OK
127.0.0.1:6379>pegue k1
"100"
127.0.0.1:6379>mover k1 1 //Move k1 do banco de dados 0 para o banco de dados 1
(inteiro) 1
127.0.0.1:6379>selecione 1 //Muda para o banco de dados de destino 1
OK
127.0.0.1:6379[1]>pegue k1 //Ver dados movidos
"100"
127.0.0.1:6379[1]> selecione 0
OK
127.0.0.1:6379> pegue k1 //O valor de k1 não pode ser visualizado no banco de dados 0
(nada)
Para limpar os dados atuais do banco de dados, use FLUSHDB
Implementação de comando; limpe todos os dados do banco de dados, use DESCARGA Implementação de comando.
Redis Todos os dados são armazenados na memória e, de tempos em tempos, salvos de forma assíncrona no disco.(Isso é chamado“Modo semipersistente”); Você também pode gravar todas as alterações de dados em um anexar somente arquivo(aof)em(Isso é chamado“Modo de persistência total”)。
porque Redis Todos os dados são armazenados na memória. Se a persistência não estiver configurada,Redis Após reiniciar, todos os dados serão perdidos.Portanto, é necessário habilitarRedis A função de persistência salva dados no disco. Redis Após uma reinicialização, os dados podem ser recuperados do disco.Redis Dois métodos são fornecidos para persistência, um é RDB(Banco de dados Redis) Persistência (o princípio é Reid-Re ...Despejo cronometrado de registros de banco de dados na memória (jogar fora)para disco RDB persistência), o outro é AOF(anexar somente arquivo)Persistência (o princípio é Reid-Re ... O log de operação é gravado no arquivo de maneira anexada).
A diferença entre RDB e AOF
ROB grava o instantâneo de dados no disco dentro do intervalo de tempo especificado. É um subprocesso de fork. Ele primeiro grava os dados em uma pasta temporária. Após sucesso, ele substituirá o arquivo anterior e os armazenará com compactação binária.
AOF registra todas as operações de gravação e exclusão do servidor em formato de log. As operações de consulta não serão registradas, mas serão registradas em formato de texto.
Vantagens e desvantagens de RDB e AOF
Vantagens do RDB:
RDB é um arquivo binário compacto e compactado que representa um instantâneo dos dados do Redis em um determinado momento. É muito adequado para backup, cópia completa e outros cenários. Por exemplo, execute o backup bgsave a cada 6 horas e copie o arquivo RDB para a máquina remota ou sistema de arquivos para recuperação de desastres.
A recuperação de dados é rápida.
Maximize o desempenho
Alta eficiência de inicialização
RDBdeficiência:
Os dados que não foram salvos antes do desligamento serão perdidos.
O RDB é concluído por meio do processo filho do fork, consumindo recursos.
Vantagens da AOF:
A durabilidade dos dados é alta
No modo anexar, o conteúdo do arquivo de log não será destruído mesmo se houver um tempo de inatividade.
O mecanismo de reescrita pode ser iniciado para proteger a segurança dos dados.
Desvantagens da AOF:
A velocidade de recuperação de dados AOF é lenta
A eficiência da operação AOF é baixa
Critérios para escolher entre os dois:
Sacrifique algum desempenho em troca de maior consistência de cache (AOF),
Quando as operações de gravação são frequentes, não habilite o backup em troca de maior desempenho e aguarde a operação manual. salvar quando, faça um backup novamente (RDB)
Observação:
Se o redies precisar carregar um arquivo de persistência após reiniciar,prioridadeOs arquivos AOF serão selecionados.
Se o RDB for habilitado primeiro e depois o AOF for habilitado, e o RDB for persistido primeiro, o conteúdo do arquivo RDB será substituído pelo AOF.
[root@localhost ~]# vim /etc/redis/6379.conf
Abrir 6379.conf Após o arquivo, pesquise salvar, você pode ver as informações de configuração conforme mostrado abaixo.
existir Redis Existem três métodos de sincronização no arquivo de configuração, são eles:
sempre: persistência síncrona, toda vez que os dados mudam, eles serão gravados no disco imediatamente ## linha 702
Everysec: recomendado por padrão, registre de forma assíncrona a cada segundo (valor padrão)
não: Sem sincronização, deixando para o sistema operacional decidir como sincronizar
Ignore a última instrução potencialmente problemática
[root@localhost ~]#/etc/init.d/redis_6379 reiniciar
192.168.9.236:7001> informação memória
memoria_usada:1210776 Tamanho da memória usada, em bytes
memoria_usada_humana:1,15MExibido com unidades, em M
memoria_usada_rss:7802880Quanta memória o redis ocupa da perspectiva do sistema operacional?
memoria_usada_rss_humana:7,44MDisplay com unidades
memória máxima:1073741824Tamanho máximo de memória
memória máxima humana: 1,00 G Display com unidades
política-de-memória-máxima: Estratégia de reciclagem
volátil-lru: permite Redis Escolha o menos usado recentemente em todo o conjunto de dados chave Excluir
volátil-ttl:Elimine de acordo com o prazo de validade da chave
volátil-aleatório: Selecione aleatoriamente os dados para eliminação da coleta de dados com tempo de expiração definido;
todas as chaves-lru:usar LRU Os algoritmos eliminam dados de todos os conjuntos de dados;
todas as chaves-aleatórias: Selecione aleatoriamente os dados para eliminação da coleta de dados;
não despejo: Desativa a eliminação de dados (valor padrão)
Defina o tempo de expiração da chave
127.0.0.1:6379>expirar v1 10 v1 tem um tempo de expiração de 10 segundos
Observação:
quando Redis Precisa recuperar um devido à pressão de memória chave hora,Redis A primeira consideração não é reciclar os dados mais antigos, mas sim os dados menos utilizados recentemente. chave ou prestes a expirar chave Escolha um aleatoriamente entre chave, removido do conjunto de dados