English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。
你可以通过 CONFIG 命令查看或设置配置项。
Redis CONFIG 命令格式如下:
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
使用 * 号获取所有配置项:
redis 127.0.0.1:6379> CONFIG GET * 1) "dbfilename" 2) "dump.rdb" 3) "requirepass" 4) "" 5) "masterauth" 6) "" 7) "unixsocket" 8) "" 9) "logfile" 10) "" 11) "pidfile" 12) "/var/run/redis.pid" 13) "maxmemory" 14) "0" 15) "maxmemory"-samples" 16) "3" 17) "timeout" 18) "0" 19) "tcp"-keepalive" 20) "0" 21) "auto"-aof-rewrite-percentage" 22) "100" 23) "auto"-aof-rewrite-min-size" 24) "67108864" 25) "hash"-max-ziplist-entries" 26) "512" 27) "hash"-max-ziplist-value" 28) "64" 29) "list"-max-ziplist-entries" 30) ""512" 31) "list"-max-ziplist-value" 32) "64" 33) "set"-max-intset-entries" 34) "512" 35) "zset"-max-ziplist-entries" 36) "128" 37) "zset"-max-ziplist-value" 38) "64" 39) "hll"-sparse-max-bytes" 40) ""3000" 41) "lua"-time-limit" 42) "5000" 43) "slowlog"-log-slower-than" 44) "10000" 45) "latency"-monitor-threshold" 46) "0" 47) "slowlog"-max-len" 48) "128" 49) "port" 50) ""6379" 51) "tcp"-backlog" 52) "511" 53) "databases" 54) "16" 55) "repl-ping-slave-period" 56) "10" 57) "repl-timeout" 58) "60" 59) "repl-backlog-size" 60) ""1048576" 61) "repl-backlog-ttl" 62) "3600" 63) "maxclients" 64) "4064" 65) "watchdog"-period" 66) "0" 67) "slave"-priority" 68) "100" 69) "min"-slaves-to-write" 70) "0" 71) "min"-slaves-max-lag" 72) "10" 73) "hz" 74) "10" 75) "no"-appendfsync-on-rewrite" 76) "no" 77) "slave"-serve-stale-data" 78) "yes" 79) "slave"-read-only" 80) "yes" 81) "stop"-writes-on-bgsave-error" 82) "yes" 83) "daemonize" 84) "no" 85) "rdbcompression" 86) "yes" 87) "rdbchecksum" 88) "yes" 89) "activerehashing" 90) "yes" 91) "repl-disable-tcp-nodelay" 92) "no" 93) "aof"-rewrite-incremental-fsync" 94) "yes" 95) "appendonly" 96) "no" 97) "dir" 98) "/home/deepak/Downloads/redis-2.8.13/src" 99) "maxmemory"-policy" 100) "volatile"-lru" 101) "appendfsync" 102) "everysec" 103) "save" 104) "3600 1 300 100 60 10000" 105) "loglevel" 106) "notice" 107) "client"-output-buffer-limit" 108) "normal 0 0 0 slave" 268435456 67108864 60 pubsub 33554432 8388608 60" 109) "unixsocketperm" 110) "0" 111) "slaveof" 112) "" 113) "notify"-keyspace-events" 114) "" 115) "bind" 116) ""
Você pode modificar o arquivo redis.conf ou usar CONFIG set comando para modificar a configuração.
CONFIG SET Sintaxe básica do comando:
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
redis 127.0.0.1:6379> CONFIG SET loglevel "notice" OK redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
A descrição das opções de configuração do redis.conf é a seguinte:
Número de ordem | Opção de configuração | Descrição |
---|---|---|
1 | daemonize no | O Redis padrão não é executado como daemon, pode ser modificado por essa configuração, usar yes para ativar o daemon (no Windows, a configuração de thread de daemon não é suportada) |
2 | pidfile /var/run/redis.pid | Quando o Redis é executado como daemon, o Redis padrão escreverá o pid /var/run/o arquivo redis.pid, que pode ser especificado por pidfile |
3 | port 6379 | Especificar o porta que o Redis escuta, a porta padrão é 6379,o autor explicou por que escolheu 6379 Como porta padrão, porque 6379 O número correspondente ao MERZ no botão do telefone, enquanto o MERZ é derivado do nome da cantora italiana Alessia Merz |
4 | bind 127.0.0.1 | endereço de host associado |
5 | timeout 300 | Quando o cliente estiver inativo por quantos segundos o conexão será fechada, se especificado como 0, significa desativar essa função |
6 | loglevel notice | Especifique o nível de registro de log, o Redis suporta quatro níveis: debug, verbose, notice, warning, o padrão é notice |
7 | logfile stdout | Modo de registro de log, o padrão é a saída padrão, se o Redis for configurado para executar como processo de background e aqui for configurado para modo de registro de log como saída padrão, os logs serão enviados para /dev/null |
8 | databases 16 | Defina o número de bancos de dados, o banco de dados padrão é 0, você pode usar o comando SELECT para especificar o id do banco de dados conectado |
9 | save <seconds> <changes> O arquivo de configuração padrão do Redis fornece três condições: save 900 1 save 300 10 save 60 10000 que representa 900 segundos (15 minutos) dentro de 1 alterações,300 segundos (5 minutos) dentro de 10 alterações e 6Dentro de 0 segundos 10000 alterações. | Especifique em quanto tempo, após quantas operações de atualização, os dados devem ser sincronizados com o arquivo de dados, pode usar várias condições em conjunto |
10 | rdbcompression yes | Especifique se os dados devem ser comprimidos ao armazenar no banco de dados local, o padrão é yes, o Redis usa compressão LZF, se for necessário economizar tempo de CPU, pode desativar essa opção, mas isso fará com que o arquivo do banco de dados seja enorme |
11 | dbfilename dump.rdb | Especifique o nome do arquivo do banco de dados local, o valor padrão é dump.rdb |
12 | dir ./ | Especifique o diretório de armazenamento do banco de dados local |
13 | slaveof <masterip> <masterport> | Defina o endereço IP e a porta do serviço master quando este computador é um serviço slave, no momento do início do Redis, ele sincronizará automaticamente os dados do master |
14 | masterauth <master-password> | Quando o serviço master define a proteção de senha, a senha de conexão do serviço slave ao master |
15 | requirepass foobared | Defina a senha de conexão do Redis, se configurada, o cliente precisa fornecer a senha através do comando AUTH <password> ao conectar ao Redis, o padrão é desligado |
16 | maxclients 128 | Defina o número máximo de conexões de clientes ao mesmo tempo, o padrão é ilimitado, o número de conexões de clientes que o Redis pode abrir ao mesmo tempo é o número máximo de descritores de arquivos que o processo do Redis pode abrir. Se o maxclients for definido como 0, isso significa que não há restrições. Quando o número de conexões de clientes atingir o limite, o Redis fechará novas conexões e retornará a mensagem de erro max number of clients reached para o cliente |
17 | maxmemory <bytes> | especificar o limite máximo de memória do Redis, o Redis carregará os dados na memória ao iniciar, após alcançar o limite máximo de memória, o Redis tentará primeiro limpar as chaves expiradas ou próximas de expirar, após o tratamento, se ainda alcançar o limite máximo de memória configurado, não será possível realizar operações de escrita, mas ainda será possível realizar operações de leitura. O novo mecanismo vm do Redis armazenará chave em memória, e valor será armazenado na área de swap |
18 | appendonly não | especificar se deve ser gravado um log após cada operação de atualização, o Redis escreve dados no disco de forma assíncrona por padrão, se não for ativado, pode haver perda de dados por um período de tempo após o desligamento. Porque o arquivo de sincronização de dados do redis é sincronizado conforme as condições save acima, alguns dados podem existir apenas na memória por um período de tempo. O valor padrão é não |
19 | appendfilename appendonly.aof | especificar o nome do arquivo de log de atualização, o padrão é appendonly.aof |
20 | appendfsync everysec | especificar condições de log de atualização, há 3 valores opcionais:
|
21 | vm-ativado no | especificar se o mecanismo de memória virtual deve ser ativado, o valor padrão é no, apresentarei de forma simples, o mecanismo VM armazena dados em páginas, o Redis move páginas de acesso menor, ou seja, dados frios, para o disco, e páginas de acesso mais alto são automaticamente movidas da memória para o disco (no artigo seguinte, analisarei em detalhes o mecanismo VM do Redis) |
22 | vm-swap-file /tmp/redis.swap | caminho do arquivo de memória virtual, o valor padrão é /tmp/redis.swap, não pode ser compartilhado por vários exemplos de Redis |
23 | vm-max-memória 0 | todos os que são maiores do que vm-max-os dados da memória são armazenados em memória virtual, independentemente de vm-max-a memória é ajustada para quantos, todos os dados de índice são armazenados em memória (os dados de índice do Redis são keys), o que significa que, quando vm-max-quando o ajuste de memória é definido como 0, na verdade todos os valores existem no disco. O valor padrão é 0 |
24 | vm-page-size 32 | O arquivo de swap do Redis foi dividido em muitas páginas, um objeto pode ser armazenado em várias páginas, mas uma página não pode ser compartilhada por vários objetos, vm-page-o tamanho da página deve ser configurado com base no tamanho dos dados armazenados, o autor recomenda que, se armazenar muitos pequenos objetos, o tamanho da página deve ser configurado como 32 ou 64bytes; se armazenar grandes objetos, pode usar páginas maiores, se não estiver certo, use o valor padrão |
25 | vm-pages 134217728 | Configurar o número de páginas no arquivo swap, pois a tabela de páginas (um bitmap que representa a disponibilidade ou uso das páginas) está armazenada na memória, em disco a cada 8 pages consumirão 1byte da memória. |
26 | vm-max-threads 4 | Configurar o número de threads para acessar o arquivo swap, é melhor não exceder o número de núcleos da máquina, se definido como 0, todas as operações no arquivo swap serão sequenciais, o que pode causar atrasos prolongados. O valor padrão é4 |
27 | glueoutputbuf yes | Configurar se concatenar pacotes menores em um único pacote ao responder ao cliente, o padrão é ativar |
28 | hash-max-zipmap-entries 64 hash-max-zipmap-value 512 | Especificar que, quando a quantidade exceder um certo número ou o maior elemento exceder um valor crítico, usar um algoritmo de hash especial |
29 | activerehashing yes | Especificar se ativar a reconfiguração de hash, o padrão é ativar (será详细介绍 Redis algoritmos de hash mais tarde) |
30 | include /path/to/local.conf | Especificar arquivos de configuração incluídos, pode usar o mesmo arquivo de configuração para vários exemplos Redis em um mesmo host, enquanto cada exemplo tem seu próprio arquivo de configuração específico |