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" "/var/run/redis.pid" "maxmemory" "0" "maxmemory-samples" "3" "timeout" "0" "tcp-keepalive" "0" "auto-aof-rewrite-percentage" "100" "auto-aof-rewrite-min-size" "67108864" "hash-max-ziplist-entries" "512" "hash-max-ziplist-value" "64" "list-max-ziplist-entries" "512" "list-max-ziplist-value" "64" "set-max-intset-entries" "512" "zset-max-ziplist-entries" "128" "zset-max-ziplist-value" "64" "hll-sparse-max-bytes" "3000" "lua-time-limit" "5000" "slowlog-log-slower-than" "10000" "latency-monitor-threshold" "0" "slowlog-max-len" "128" "port" "6379" "tcp-backlog" "511" "databases" "16" "repl-ping-slave-period" "10" "repl-timeout" "60" "repl-backlog-size" "1048576" "repl-backlog-ttl" "3600" "maxclients" "4064" "watchdog-period" "0" "slave-priority" "100" "min-slaves-to-write" "0" "min-slaves-max-lag" "10" "hz" "10" "no-appendfsync-on-rewrite" "no" "slave-serve-stale-data" "yes" "slave-read-only" "yes" "stop-writes-on-bgsave-error" "yes" "daemonize" "no" "rdbcompression" "yes" "rdbchecksum" "yes" "activerehashing" "yes" "repl-disable-tcp-nodelay" "no" "aof-rewrite-incremental-fsync" "yes" "appendonly" "no" "dir" "/home/deepak/Downloads/redis-2.8.13/src" "maxmemory-policy" "volatile-lru" "appendfsync" "everysec" "save" "3600 1 300 100 60 10000" "loglevel" "notice" "client-output-buffer-limit" "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60" "unixsocketperm" "0" "slaveof" "" "notify-keyspace-events" "" "bind" ""
можно изменить файл redis.conf или использовать CONFIG set команды для изменения конфигурации.
CONFIG SET базовая грамматика команды:
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"
объяснение параметров в redis.conf是这样的:
номер | параметр | объяснение |
---|---|---|
1 | daemonize no | Redis по умолчанию не работает в режиме демона, можно изменить это с помощью этой опции, использовать yes для включения демона (на Windows不支持 настройка демона в no) |
2 | pidfile /var/run/redis.pid | при работе Redis в режиме демона, Redis по умолчанию будет записывать pid в файл /var/run/redis.pid, можно определить через pidfile |
3 | port 6379 | определите порт, на котором будет слушать Redis, по умолчанию порт 6379, автор в своей статье объясняет, почему был выбран порт 6379 в качестве стандартного, так как 6379 соответствует номеру MERZ на клавиатуре телефона, а MERZ заимствовано из имени итальянской певицы Alessia Merz |
4 | bind 127.0.0.1 | адрес хоста, к которому привязан |
5 | timeout 300 | закройте соединение, когда клиент бездействует в течение определенного времени в секундах, если указать 0, это означает关闭 эту функцию |
6 | loglevel notice | определите уровень записи журнала, Redis поддерживает четыре уровня: debug, verbose, notice, warning, по умолчанию notice |
7 | logfile stdout | способ записи журнала, по умолчанию это стандартный вывод, если конфигурировать Redis для работы в режиме демона, и здесь конфигурировать способ записи журнала как стандартный вывод, то журнал будет отправляться в /dev/null |
8 | databases 16 | установите количество баз данных, по умолчанию база данных 0, можно использовать команду SELECT для указания идентификатора базы данных в соединении |
9 | save <seconds> <changes> В стандартном конфигурационном файле Redis предоставлены три условия: save 900 1 save 300 10 save 60 10000 Это означает, что за 900 секунд (15 минут) было 1 изменение, за 300 секунд (5 минут) было 10 изменений и за 60 секунд было 10000 изменений. | Укажите, через какое время и сколько обновлений данных следует синхронизировать с файлом данных, можно использовать несколько условий вместе |
10 | rdbcompression yes | Укажите, необходимо ли сжимать данные при хранении в локальной базе данных, по умолчанию yes, Redis использует压缩 LZF, если нужно сэкономить время процессора, можно отключить этот параметр, но это приведет к тому, что файл базы данных станет очень большим |
11 | dbfilename dump.rdb | Укажите имя файла локальной базы данных, по умолчанию dump.rdb |
12 | dir ./ | Укажите каталог для хранения локальной базы данных |
13 | slaveof <masterip> <masterport> | Установите IP-адрес и порт мастера, когда это служба слуги, при запуске Redis он автоматически будет синхронизировать данные с мастером |
14 | masterauth <master-password> | Когда мастер-служба установила пароль для защиты, служба слуги использует пароль для подключения к мастеру |
15 | requirepass foobared | Установите пароль для подключения Redis, если был настроен пароль для подключения, клиент должен предоставить пароль с помощью команды AUTH <password> при подключении к Redis, по умолчанию отключен |
16 | maxclients 128 | Установите максимальное количество клиентов, которые могут подключиться одновременно, по умолчанию без ограничений, количество клиентов, которые могут открыть Redis одновременно, равно максимальному количеству файловых дескрипторов, которые может открыть процесс Redis. Если установить maxclients 0, это означает, что нет ограничений. Когда количество клиентов достигнет ограничения, Redis закроет новые подключения и вернет ошибку max number of clients reached клиенту |
17 | maxmemory <bytes> | Установите максимальное ограничение памяти Redis, при запуске Redis будет загружать данные в память, когда достигнет максимального объема памяти, Redis сначала попытается удалить ключи, которые уже истекли или скоро истекут, после того как этот метод будет обработан, и все еще достигнет установленного максимального объема памяти,写入操作 больше не будет возможным, но все еще можно будет выполнять чтение. Новый механизм vm Redis будет хранить ключи в памяти, а значения будут храниться в области swap |
18 | appendonly no | Указать, следует ли производить запись в журнал после каждого обновления операции, Redis по умолчанию асинхронно записывает данные на диск, если это не включено, может привести к потере данных в случае отключения питания в течение определенного периода времени. Поскольку данныеRedis синхронизируются по условиям save, некоторые данные могут существовать только в памяти в течение определенного периода времени. Значение по умолчания no |
19 | appendfilename appendonly.aof | Указать имя файла журнала обновлений, значение по умолчанию appendonly.aof |
20 | appendfsync everysec | Указать условия записи обновлений, доступны 3 значения:
|
21 | vm-enabled no | Указать, следует ли включить механизм виртуальной памяти, значение по умолчания no, кратко介绍一下, механизм VM хранит данные на страницах,Redis свопирует страницы с низким объемом доступа (холодные данные) на диск, а страницы с высоким объемом доступа автоматически переносятся в память (в后续 статьях я более подробно рассмотрю механизм VM Redis) |
22 | vm-swap-file /tmp/redis.swap | Путь к файлу виртуальной памяти, значение по умолчанию /tmp/redis.swap, не рекомендуется использовать несколько примеров Redis |
23 | vm-max-memory 0 | Все данные, превышающие vm-max-memory, сохраняются в виртуальной памяти, независимо от того, как маленьким будет vm-max-memory, все индексные данные хранятся в памяти (индексные данные Redis - это ключи), то есть, когда vm-max-memory установлено в 0, все значения существуют на диске. Значение по умолчанию 0 |
24 | vm-page-size 32 | Redis swap файл разбит на множество страниц, один объект может храниться на нескольких страницах, но страница не может быть совместно использована несколькими объектами, размер vm-page-size должен быть установлен в зависимости от размера хранимых данных, автор рекомендует, если хранить много малых объектов, размер страницы最好设置为 32 или 64 байт; если хранить очень большие объекты, можно использовать больше страниц, если не уверен, используйте значение по умолчанию |
25 | vm-pages 134217728 | Установить количество страниц в swap-файле, так как таблица страниц (вид bitmap, который показывает, заняты ли страницы или свободны) хранится в памяти, на диске каждые 8 страниц consume 1byte памяти. |
26 | vm-max-threads 4 | Установить количество потоков, доступных для доступа к swap-файлу, лучше не превышать количество ядер процессора, если установлено 0, то все операции с swap-файлом будут выполняться последовательно, что может привести к значительным задержкам. По умолчанию 4 |
27 | glueoutputbuf yes | Указать, следует ли объединять небольшие пакеты в один перед отправкой ответа клиенту, по умолчанию включено |
28 | hash-max-zipmap-entries 64 hash-max-zipmap-value 512 | Указать, использовать ли особый алгоритм хэша, когда количество элементов превышает определенное количество или максимальный элемент превышает определенный критический уровень |
29 | activerehashing yes | Указать, активировать ли перезагрузку хэша, по умолчанию включено (подробнее о хеш-алгоритмах Redis будет рассказано позже) |
30 | include /path/to/local.conf | Указать включение других конфигурационных файлов, можно использовать один и тот же файл конфигурации для нескольких примеров Redis на одном и том же хосте, при этом каждый пример имеет свои собственные специфические конфигурационные файлы |