Пояснюються параметри профілю:
1. Redis за замовчуванням не запускається як демон, але може бути змінений цим елементом конфігурації, щоб увімкнути демон з так.
демонізувати ні
2. Коли Redis працює як демон, Redis за замовчуванням записує pid у файл /var/run/redis.pid, який можна вказати через pidfile
pidfile /var/run/redis.pid
3. Вкажіть порт прослуховування Redis, за замовчуванням — 6379, автор пояснив у своєму блозі, чому 6379 обраний як порт за замовчуванням, бо 6379 — це номер, що відповідає MERZ на кнопці мобільного телефону, а MERZ взято від імені італійської співачки Алессії Мерц
Порт 6379
4. Зв'язувальна адреса хоста
bind 127.0.0.1
5. Коли з'єднання закрито після того, як клієнт перебував у бездіяльності, якщо воно вказане як 0, це означає, що функція вимкнена
Тайм-аут 300
6. Вкажіть рівень логування, Redis підтримує загалом чотири рівні: налагодження, багатослівність, повідомлення, попередження та багатослівність за замовчуванням
loglevel verbose
7. Режим логування за замовчуванням є стандартним виводом, якщо Redis налаштований на роботу як демон, а тут метод логування налаштований як стандартний вихід, лог буде надіслано до /dev/null
Logfile stdout
8. Встановіть кількість баз даних, стандартна база даних — 0, і ви можете використати <dbid>команду SELECT, щоб вказати ідентифікатор бази даних на з'єднанні
Бази даних 16
9. Вкажіть, скільки часу і скільки операцій оновлення виконується для синхронізації даних із файлом даних, що можна поєднувати з різними умовами
Збереження <seconds> <changes>
У стандартному файлі конфігурації Redis доступні три умови:
save 900 1
збережіть 300 10
Збережіть 60 10000
Це означає 1 зміну за 900 секунд (15 хвилин), 10 змін за 300 секунд (5 хвилин) і 10 000 змін за 60 секунд відповідно.
10. Вкажіть, чи стиснути дані при зберіганні в локальній базі даних, за замовчуванням так, Redis використовує LZF-компресію, якщо хочете заощадити час процесора, можна вимкнути цю опцію, але це зробить файл бази даних величезним
RDBкомпресія Так
11. Вкажіть назву локального файлу бази даних, значення за замовчуванням — dump.rdb
dbfilename dump.rdb
12. Вкажіть локальний репозиторій бази даних
реж. ./
13. Встановіть IP-адресу та порт головного сервісу, коли машина є slav-сервісом, і вона автоматично синхронізуватиме дані з майстра при запуску Redis
раб <masterip> <masterport>
14. Коли головний сервіс захищений паролем, slav-сервіс підключає пароль майстра
Мастераут <master-password>
15. Встановіть пароль для підключення Redis, якщо пароль для підключення налаштовано, клієнт повинен надати пароль через команду AUTH при підключенні до <password>Redis, яка за замовчуванням вимкнена
requirepass foobared
16. Встановіть максимальну кількість клієнтських з'єднань одночасно, за замовчуванням немає обмежень, кількість клієнтських з'єднань, які Redis може відкрити одночасно, — це максимальна кількість файлових дескрипторів, які може відкрити процес Redis; якщо maxclients встановлено на 0, це означає, що обмежень немає. Коли кількість клієнтських з'єднань досягає ліміту, Redis закриває нове з'єднання і повертає клієнту повідомлення про помилку з максимальною кількістю досягнутих клієнтів
maxclients 128
17. Вкажіть максимальний ліміт пам'яті Redis, Redis завантажить дані в пам'ять при запуску, а після досягнення максимальної пам'яті Redis спочатку спробує очистити прострочені або закінчені ключі. Новий механізм віртуальної машини Redis зберігає ключі в пам'яті, а значення — у зонах обміну
maxmemory <bytes>
18. Вкажіть, чи слід вести лог після кожної операції оновлення, Redis за замовчуванням записує дані на диск асинхронно, і якщо не увімкнено, це може призвести до втрати даних на певний час при відключенні живлення. Оскільки сам redis синхронізує файли даних відповідно до наведених вище умов збереження, деякі дані залишатимуться в пам'яті лише певний час. За замовчуванням немає
додаток лише No
19. Вкажіть ім'я файлу changelog, яке за замовчуванням встановлюється appendonly.aof
Ім'я додаткового файлу appendonly.aof
20. Визначте умови журналу змін трьома необов'язковими значеннями:
Ні: Означає, що операційна система синхронізує кеш даних з диском (швидко)
завжди: Позначає, що fsync() вручну викликається після кожної операції оновлення для запису даних на диск (повільно, безпечно)
everysec: означає синхронізацію один раз на секунду (компроміс, за замовчуванням)
appendfsync everysec
21. Вкажіть, чи вмикати механізм віртуальної пам'яті, значення за замовчуванням — ні, коротке вступ, механізм віртуальної машини зберігає дані у пагінації, а Redis переносить сторінки з меншою кількістю відвідувань, тобто холодні дані, на диск, а сторінки з більшою кількістю відвідувань автоматично замінюються диском у пам'ять (я детально проаналізую механізм віртуальної машини Redis у наступній статті).
VM-увімкнений ні
22. Значення за замовчуванням шляху до файлу віртуальної пам'яті — /tmp/redis.swap, яке не може бути спільним для кількох екземплярів Redis
vm-swap-file /tmp/redis.swap
23. Зберігати всі дані, більші за vm-max-memory, у віртуальній пам'яті, незалежно від розміру налаштування vm-max-memory, усі індексні дані зберігаються в пам'яті (індексні дані Redis — це ключі), тобто коли vm-max-memory встановлено на 0, усі значення фактично існують на диску. Значення за замовчуванням — 0
vm-max-memory 0
24. Файл обміну Redis поділений на багато сторінок, об'єкт можна зберегти на кількох сторінках, але сторінку не можна ділитися кількома об'єктами, розмір сторінки vm-page встановлюється відповідно до розміру збережених даних, автор пропонує, що якщо зберігається багато малих об'єктів, розмір сторінки слід встановити на 32 або 64 байти; Якщо ви зберігаєте великий об'єкт, можна використати більшу сторінку, а якщо не впевнені — за замовчуванням
VM-сторінка-розмір 32
25. Встановіть кількість сторінок у swap-файлі, оскільки таблиця сторінок (бітмап, що вказує на вільну або використану сторінку) розміщена в пам'яті, кожні 8 сторінок на диску споживатимуть 1 байт пам'яті.
VM-сторінки 134217728
26. Встановіть кількість потоків, що звертаються до файлу обміну, бажано не перевищуючи кількість ядер машини, якщо встановити 0, то всі операції над файлом обміну є послідовними, що може спричинити відносно тривалу затримку. Значення за замовчуванням — 4
vm-max-threads 4
27. Встановіть питання, чи об'єднувати менші пакети в один пакет при відповіді клієнту, і за замовчуванням увімкнено
glueoutputbuf так
28. Визначає спеціальний алгоритм хешування, коли певне число або найбільший елемент перевищує певний поріг
хеш-макс-zipmap-записи 64
hash-max-zipmap-значення 512
29. Вкажіть, чи активувати хеш скидання, який за замовчуванням увімкнений (детально додано пізніше у вступі до алгоритму хешування Redis)
activerehashing так
30. Вказівка, що один і той самий конфігураційний файл може використовуватися між кількома екземплярами Redis на одному хості, і кожен екземпляр має свій конкретний конфігураційний файл
включити /path/to/local.conf