Повний гайд: налаштування порту Redis і як працює Redis?
Redis - це сховище даних з відкритим вихідним кодом, що працює в оперативній пам'яті й виконує різні ролі, зокрема рушія потокової обробки, бази даних, кешу та брокера повідомлень. Порт Redis, за замовчуванням зазвичай 6379, забезпечує зв'язок між клієнтами та сервером Redis і дає змогу виконувати такі операції, як зберігання та отримання даних.
Як база даних «ключ-значення» зі збереженням на диск, Redis підтримує широкий набір структур даних, як-от бітові карти, потоки, географічні індекси, списки, хеші, множини та впорядковані множини. Така універсальність дає змогу динамічно працювати з даними, зокрема виконувати запити за діапазоном для конкретних застосунків і сценаріїв.
У цій статті ви знайдете корисну інформацію про порти Redis. Ми також відповімо на запитання: як працює Redis? Незалежно від того, чи ви досвідчений фахівець, чи новачок, розуміння всіх тонкощів портів Redis дасть вам знання, потрібні для оптимізації налаштування сервера Redis, а отже, для підвищення швидкості та масштабованості. Заглибтеся в деталі, щоб розширити свої знання Redis!
Як працює Redis?
Redis - це універсальне сховище даних в оперативній пам'яті, створене для швидкості та гнучкості. Воно пропонує різноманітні структури даних і функції для кешування, аналітики в реальному часі, обміну повідомленнями тощо. Завдяки простоті та продуктивності Redis популярний у багатьох сценаріях сучасної розробки застосунків.
Redis працює за клієнт-серверною архітектурою, у якій клієнти взаємодіють із сервером Redis через мережевий сокет. Сервер Redis очікує на підключення клієнтів на визначеному порту, який називають портом Redis. За замовчуванням для Redis використовується порт 6379, хоча його можна змінити у файлі конфігурації.
Порт Redis є важливим параметром безпечної конфігурації: він дає змогу клієнтам встановлювати з'єднання із сервером Redis і виконувати різноманітні операції зі збереженими даними.
Нижче наведено спрощену схему взаємодії клієнта й сервера Redis. Вона показує, як застосунок надсилає команди до Redis через TCP/RESP, як Redis обробляє дані в пам'яті та як він також може підтримувати збереження даних і обмін повідомленнями Pub/Sub.

Ця архітектура демонструє здатність Redis забезпечувати швидку обробку даних у пам'яті, водночас підтримуючи надійність зберігання та функції зв'язку в реальному часі.
У Redis дані зберігаються у вигляді пар «ключ-значення». Ключі - це унікальні ідентифікатори, а значення можуть бути простими типами даних (рядки, цілі числа) або складними структурами даних. Redis пропонує різні варіанти збереження даних на диск, що забезпечує їхню надійність. Крім того, він підтримує транзакційні операції, застосовує політики ефективного керування пам'яттю за правилами LRU (Least Recently Used, витіснення даних, які найдовше не використовувалися) і має вбудовані функції реплікації.
Крім того, Redis Sentinel і Redis Cluster підвищують надійність системи, надаючи потужні рішення для забезпечення відмовостійкості в розподілених середовищах. Ці механізми гарантують, що навіть у разі збоїв система залишається доступною та працездатною.
Ба більше, Redis підтримує атомарні дії, тобто точні й неподільні операції, як-от додавання до рядка, вставлення елемента в список, збільшення значення в хеші, виконання перетину, об'єднання та різниці множин або отримання учасника з найвищим рейтингом у впорядкованій множині. Така різноманітність атомарних дій підвищує гнучкість і ефективність роботи з даними в екосистемі Redis.
Який номер порту Redis за замовчуванням?
За замовчуванням Redis приймає вхідні підключення на порту 6379. Redis, популярне сховище структур даних в оперативній пам'яті, використовують для різних цілей, зокрема як брокер повідомлень, базу даних і кеш. Під час використання Redis у продакшн-середовищі важливо знати про порт Redis і про те, як правильно його налаштувати.
Клієнти автоматично підключаються до порту Redis за замовчуванням 6379, що спрощує процес підключення до Redis. Ви можете замінити цей порт за замовчуванням на інший номер порту у файлі конфігурації Redis.
Останніми роками висловлюються побоювання щодо безпеки використання для Redis загальновідомого порту, як-от 6379. Існує ризик, що зловмисники можуть скористатися цим поширеним портом, щоб отримати несанкціонований доступ до серверів Redis, а це може призвести до проблем із безпекою або витоку даних.
У відповідь на це деякі компанії вживають заходів, як-от запуск Redis на нестандартних портах або впровадження додаткових засобів захисту від несанкціонованого доступу. Це може бути корисно, коли на одному сервері працює кілька екземплярів Redis або коли для підвищення безпеки обирають нестандартний порт.
Попри ці запобіжні заходи, порт за замовчуванням 6379 залишається найпоширенішим для Redis, оскільки він і надалі відіграє важливу роль у середовищі Redis.
Усі порти Redis: пояснення
Залежно від конфігурації Redis може працювати на різних портах. Наведені нижче порти є найпоширенішими значеннями за замовчуванням, але вони не фіксовані, оскільки Redis дає адміністраторам змогу змінювати їх відповідно до архітектури мережі, структури розгортання або політик безпеки.
|
Порт |
Призначення |
Опис |
|
6379 |
Основний порт Redis |
Основний порт за замовчуванням для доступу клієнтів і звичайних команд читання та запису Redis. |
|
16379 |
Шина кластера |
Обслуговує внутрішній зв'язок між вузлами Redis Cluster і зазвичай дорівнює основному порту Redis плюс 10000. |
|
26379 |
Redis Sentinel |
Стандартний порт Redis Sentinel для моніторингу серверів і керування подіями перемикання при відмові (failover). |
|
6380 |
Додатковий екземпляр Redis |
Часто використовується для додаткового екземпляра Redis на тій самій машині, наприклад для staging-середовища, реплікації або ізольованих навантажень. |
|
Власний cluster-port |
Власний порт шини кластера |
У Redis Cluster цей порт також можна задати вручну замість стандартної схеми «основний порт плюс 10000». |
Для простого розгортання Redis зазвичай достатньо порту 6379. Однак складніші конфігурації, як-от Redis Cluster або Redis Sentinel, також використовують додаткові порти для зв'язку між вузлами, моніторингу стану та автоматичного перемикання при відмові.
Нижче наведено спрощений огляд портів Redis. У більшості конфігурацій застосунки підключаються до Redis через порт 6379, вузли кластера обмінюються даними між собою через порт 16379, а Redis Sentinel використовує порт 26379 для моніторингу й операцій забезпечення високої доступності.

Разом ці порти показують, як Redis розділяє доступ клієнтів, внутрішній зв'язок кластера та моніторинг на основі Sentinel, щоб забезпечити продуктивність, масштабованість і високу доступність.
Як перевірити, на якому порту працює Redis
Коли потрібно перевірити налаштування порту Redis на сервері, найпростіше звернутися безпосередньо до активного екземпляра Redis. Це надійніше, ніж лише переглядати файл конфігурації, оскільки запущений процес показує порт, який Redis фактично використовує в цей момент.
Найшвидше це зробити за допомогою Redis CLI:
redis-cli CONFIG GET port
У більшості випадків Redis поверне приблизно такий результат:
1) "port"
2) "6379"
Якщо ваш сервер Redis працює на іншому хості або вже використовує нестандартний порт, ви можете вказати параметри підключення вручну:
redis-cli -h your-host -p your-port CONFIG GET port
Також можна переглянути файл redis.conf і знайти директиву port, але під час усунення несправностей цей метод менш точний, оскільки запущена служба може використовувати інші параметри часу виконання. Тому перевірка активного екземпляра зазвичай є кращим варіантом.
Нижче наведено приклад файлу конфігурації Redis (redis.conf), що ілюструє важливі параметри, пов'язані з налаштуванням порту, мережевим доступом, збереженням даних, безпекою та використанням пам'яті в типовому розгортанні Redis.

У стандартній конфігурації Redis зазвичай слухає порт 6379. Однак у складніших середовищах, як-от Redis Cluster, кожен вузол може використовувати додаткові порти для внутрішнього зв'язку. Саме тому поєднання CONFIG GET port зі швидкою перевіркою на рівні операційної системи часто є найефективнішим способом визначити правильний порт Redis.
На рівні системи також можна перевірити, який порт слухає Redis, за допомогою таких інструментів, як ss або lsof:
ss -ltnp | grep redis
lsof -i -P -n | grep redis-server
Ці команди особливо корисні, коли на одній машині працює кілька екземплярів Redis або коли потрібно переконатися, що служба прив'язана до очікуваного TCP-порту.
Налаштування файрвола для порту Redis
Під час використання Redis на сервері важливо налаштувати файрвол, щоб контролювати вхідні підключення до порту Redis, зазвичай 6379. Для цього використовують програмний файрвол сервера або групи безпеки мережі хмарного провайдера. У продакшн-середовищах обов'язково обмежуйте доступ до портів Redis, дозволяючи його лише авторизованим хостам або визначеним IP-адресам.
Щоб ефективно налаштувати файрвол для порту Redis, виконайте такі основні кроки:
1. Спочатку визначте порт, на якому працює ваш екземпляр Redis. Redis за замовчуванням використовує порт 6379, але ви можете змінити його відповідно до своїх потреб.
2. Створіть правила файрвола, що дозволяють вхідні з'єднання саме на порт Redis, і переконайтеся, що доступ мають лише довірені джерела. Так доступ до екземпляра Redis буде обмежено схваленими хостами або визначеними IP-адресами.
3. Розгляньте можливість заборонити зовнішній доступ до порту Redis, особливо якщо ваш екземпляр Redis розміщено на публічному сервері. Цей запобіжний захід підвищує безпеку, блокуючи трафік із зовнішніх IP-адрес на порт Redis.
4. Посильте захист, увімкнувши шифрування та автентифікацію для підключень до екземпляра Redis. Це гарантує безпечну передачу даних і доступ до системи лише для користувачів із належними правами.
Виконавши ці кроки, ви налаштуєте надійний файрвол для Redis, який допоможе захистити екземпляр від несанкціонованого доступу та потенційних загроз безпеці.
Як змінити порт Redis за замовчуванням?
За замовчуванням Redis використовує порт 6379. Якщо ви хочете змінити порт Redis за замовчуванням, виконайте такі кроки:
- Спочатку знайдіть файл конфігурації Redis. Зазвичай він називається «redis.conf». Типові розташування файлу конфігурації: «/etc/redis/redis.conf» у системах Linux або каталог встановлення Redis.
- Відкрийте файл конфігурації сервера Redis у текстовому редакторі. Для редагування файлу можуть знадобитися права адміністратора.
- Тепер знайдіть параметр «port». Знайдіть рядок, що починається з «port». Цей рядок визначає номер порту, на якому Redis прослуховуватиме підключення.
# Specify the port number
port 6379
- Замініть порт Redis 6379 на потрібний номер порту.
# Specify the port number
port 12345
Замініть 12345 на номер порту, який ви хочете використовувати.
- Збережіть зміни у файлі конфігурації Redis і закрийте текстовий редактор.
- Перезапустіть сервер Redis, щоб застосувати нове налаштування порту. Спосіб перезапуску Redis залежить від вашої операційної системи та того, як було встановлено Redis. Типові команди для перезапуску сервера Redis у системі Linux:
$ service redis-server restart
або
$ systemctl restart redis-server
Після виконання цих кроків сервер Redis має працювати на вказаному вами новому порту замість порту за замовчуванням 6379. Не забудьте оновити конфігурацію клієнтів Redis, щоб вони використовували новий порт для підключення до сервера Redis.
Найкращі практики конфігурації Redis
1. Використовуйте окремий файл конфігурації
Готову до продакшну конфігурацію Redis завжди слід описувати в окремому файлі конфігурації, а не покладатися на значення за замовчуванням під час запуску. Так конфігурацію Redis простіше перевіряти, документувати й підтримувати узгодженою між середовищами, особливо якщо ви керуєте кількома серверами або налаштуваннями, що залежать від версії.
2. Посильте кожен параметр Redis, пов'язаний із доступом
Одна з найважливіших частин будь-якої перевірки налаштувань Redis - це безпека. Redis рекомендує обмежувати доступ із мережі, враховувати захищений режим (protected mode) і використовувати автентифікацію на основі ACL, щоб клієнти отримували лише ті дозволи, які їм справді потрібні. Це допомагає зменшити ризик несанкціонованого доступу й робить конфігурацію Redis загалом значно безпечнішою.
3. Заздалегідь задайте ліміти пам'яті та правила витіснення
Добра конфігурація Redis має чітко визначати maxmemory і відповідну maxmemory-policy. Без цього Redis може використовувати оперативну пам'ять, доки не досягне меж інфраструктури. Вибір правильної поведінки пам'яті - ключове налаштування Redis для стабільної продуктивності, особливо за навантажень з інтенсивним кешуванням.
4. Оберіть правильну стратегію збереження даних
Конфігурація Redis також має відповідати вашим вимогам до надійності зберігання. Redis підтримує знімки RDB і збереження AOF, а правильний вибір залежить від того, яку втрату даних може допустити ваш застосунок і наскільки швидким має бути відновлення. Надійна конфігурація Redis не лише швидка, а й підготовлена до перезапусків і збоїв.
5. Вносьте зміни обережно й підтримуйте їх зрозумілими
Redis дає змогу змінювати параметри під час роботи за допомогою CONFIG SET, що зручно для тестування або контрольованих коригувань, але зміни конфігурації все одно мають бути продуманими й задокументованими. На практиці найкраща стратегія налаштування Redis - та, що залишається зрозумілою, відтворюваною та зручною для аудиту з часом.
Якщо ви плануєте розгортання Redis для продакшну, розміщення Redis на Linux VPS від BlueVPS може значно спростити налаштування та масштабування. Середовище VPS дає вам контроль, потрібний для керування параметрами безпеки, мережі та продуктивності без обмежень спільного середовища.
Клієнтські бібліотеки Redis
Клієнтські бібліотеки Redis - це програмні компоненти, що забезпечують зв'язок між застосунками та сервером Redis. Вони слугують інтерфейсами, які дають розробникам змогу взаємодіяти з Redis через порт Redis і виконувати такі операції, як зберігання й отримання даних та керування з'єднаннями.
По суті, клієнтські бібліотеки Redis спрощують інтеграцію порту Redis у різні мови програмування, пропонуючи зручні методи та функції для роботи із сервером Redis. Вони приховують складнощі зв'язку на нижньому рівні, тож розробникам простіше додавати функціональність Redis у свої застосунки, не займаючись детальними мережевими аспектами.
Використання клієнтської бібліотеки Redis має низку переваг: воно спрощує процес розробки та підвищує загальну продуктивність. Серед цих переваг - скорочення часу розробки, оскільки клієнтські бібліотеки приховують складність протоколу Redis і заощаджують зусилля розробників.
Крім того, багато клієнтських бібліотек Redis оптимізовано для кращої продуктивності, що прискорює передачу даних. Обробка помилок стає простішою: клієнтські бібліотеки надають зрозумілі повідомлення про помилки й автоматично обробляють помилкові ситуації.
Використання клієнтської бібліотеки забезпечує узгоджений синтаксис у різних мовах програмування, сприяючи одноманітності коду. Крім того, ці бібліотеки часто підтримують захищені з'єднання з портом Redis, що посилює захист даних і запобігає несанкціонованому доступу.
Сценарії використання порту Redis
Порт Redis за замовчуванням 6379 слугує точкою входу для підключень клієнтів до сервера Redis і дає змогу передавати команди екземпляру Redis. Завдяки цьому розробники можуть працювати з екземпляром Redis, виконуючи низку операцій, як-от зберігання та отримання даних, обмін повідомленнями pub/sub, кешування тощо. Redis широко застосовують у різних сценаріях, зокрема:
Кешування
Використання Redis для кешування передбачає зберігання даних, до яких часто звертаються, у пам'яті, що прискорює їх отримання та зменшує потребу щоразу завантажувати дані з основного сховища. Це пришвидшує роботу застосунку, забезпечуючи швидкий доступ до часто запитуваної інформації.
Керування сесіями
Redis - ефективне рішення для керування сесіями користувачів у застосунках. Зберігаючи дані сесій у Redis, система отримує змогу швидко отримувати й оновлювати інформацію, пов'язану з конкретним користувачем, що забезпечує користувачеві плавну й швидку роботу.
Обмін повідомленнями в реальному часі
Redis працює як надійний брокер повідомлень, забезпечуючи зв'язок між різними компонентами системи або між незалежними застосунками. Він дає змогу обмінюватися повідомленнями, забезпечуючи зв'язок і координацію в реальному часі в розподілених і подієво-орієнтованих архітектурах.
Швидке приймання даних
Redis чудово підходить для сценаріїв швидкого приймання даних, коли потрібно оперативно приймати й обробляти великі обсяги даних. Зберігання в пам'яті та оптимізовані структури даних роблять його цінним інструментом для застосунків, яким потрібна швидка й ефективна обробка вхідних потоків даних.
Дедуплікація
Redis можна використовувати для завдань дедуплікації, коли системі потрібно виявляти й усувати дублікати записів або подій. Завдяки структурам даних «множина» та «впорядкована множина» в Redis дублікати можна ефективно виявляти й обробляти.
Векторна база даних
Redis може слугувати векторною базою даних, що особливо корисно в сценаріях, де дані складаються з векторів або багатовимірних масивів. Він забезпечує ефективне зберігання, отримання та обробку векторних даних, тож підходить для застосунків, яким потрібно працювати зі складними структурами даних.
Сховища ознак
Redis використовують як сховище ознак (feature store) у застосунках машинного навчання та науки про дані. Він забезпечує швидкий і надійний спосіб зберігати й отримувати ознаки, що використовуються в моделях, полегшуючи прогнозування та аналіз у реальному часі завдяки тому, що потрібні ознаки завжди доступні для обчислень.
Які переваги використання Redis?
Redis, сервер баз даних і кешування з відкритим вихідним кодом із розвиненою реплікацією, має низку переваг завдяки оптимальному використанню порту Redis, за замовчуванням зазвичай 6379:
1. Redis працює як система кешування на основі відображення «ключ-значення» з продуктивністю, подібною до Memcached. Це робить його надійним рішенням для швидкого зберігання та отримання даних.
2. У Redis немає суворих правил, що вимагають заздалегідь визначених схем або таблиць для даних. Він використовує безсхемний підхід, що забезпечує гнучкість моделювання даних.
3. Redis підтримує різні моделі або типи даних, що дає змогу працювати з різними структурами залежно від конкретних потреб.
4. Redis має багатий набір розширених функцій, що вирізняє його серед інших систем баз даних. Серед них можливості, які виходять за межі базового зберігання та отримання даних.
5. Порт Redis здатний обробляти багато одночасних запитів на запис або транзакцій за секунду завдяки шардингу. Ця техніка розподіляє дані між кількома вузлами, підвищуючи масштабованість.
6. Redis можна використовувати як допоміжний інструмент разом з іншими базами даних, щоб зменшити навантаження та підвищити продуктивність. Або ж він може слугувати основною базою даних залежно від індивідуальних вимог і сценаріїв використання.
7. Він особливо корисний у сценаріях, що потребують швидкого приймання даних із наголосом на їхній цілісності. Такі можливості, як висока ефективність і реплікація, роблять Redis цінним інструментом у цих ситуаціях.
Якщо ви використовуєте VPS-сервер, ви можете встановити Redis і налаштувати на ньому конфігурацію порту Redis. Це універсальне й високопродуктивне рішення для різних завдань керування даними з наголосом на гнучкості, масштабованості та ефективності.
Типові проблеми з портом Redis і їх усунення
Проблеми з портом Redis зазвичай виникають із кількох передбачуваних причин: клієнт звертається на неправильну адресу, сервер приймає лише локальні підключення, не враховано додаткові порти, потрібні для Cluster або Sentinel, TLS увімкнено на іншій кінцевій точці, або запущена служба використовує не той порт, що очікується згідно з конфігурацією. Найшвидше почати діагностику, перевіривши з'єднання вручну та визначивши активний порт Redis безпосередньо на сервері.
redis-cli -h <host> -p <port> PING
redis-cli -h <host> -p <port> CONFIG GET port
1. Неправильна адреса підключення
Іноді застосунок досі намагається підключитися до 127.0.0.1:6379, тоді як Redis насправді працює деінде або на нестандартному порту. У багатьох випадках проблема не в самому Redis, а в застарілому рядку підключення чи змінній середовища.
2. Redis відповідає локально, але не ззовні
Якщо команди працюють на сервері, але не виконуються з іншої машини, можливо, Redis прив'язано лише до localhost або доступ блокують мережеві правила. Таке часто трапляється, коли bind, правила файрвола або захищений режим не налаштовано для віддаленого трафіку.
3. Відсутні порти в Redis Cluster
Вузол Redis Cluster зазвичай використовує два порти: один для клієнтського трафіку, а інший для внутрішнього зв'язку кластера. Якщо відкрито лише основний порт, вузол може здаватися доступним, тоді як реплікація, перемикання при відмові або координація кластера не працюватимуть.
4. Плутанина між Sentinel і службою даних
Sentinel використовує власний порт і призначений для моніторингу та керування перемиканням при відмові, а не для звичайних операцій читання й запису. Якщо застосунок підключається до Sentinel так, ніби це сама база даних Redis, він не працюватиме коректно.
5. Значення під час роботи не збігаються з файлом конфігурації
Порт, визначений у redis.conf, не завжди збігається з тим, який використовує активний процес. Під час усунення несправностей завжди спочатку перевіряйте поточні налаштування сервера і лише потім порівнюйте їх зі збереженим файлом конфігурації.
Висновок
Порт Redis має ключове значення для оптимізації продуктивності Redis у продакшн-середовищі. У цій статті ми розглянули багатогранну роль Redis, наголосивши на його можливостях роботи в оперативній пам'яті, і детально розібрали значення порту Redis за замовчуванням, який зазвичай дорівнює 6379.
Розуміння того, як налаштовувати й змінювати порт Redis, забезпечує гнучкість і безпеку та дає змогу ефективно використовувати Redis у різноманітних застосунках. Тож незалежно від того, чи використовуєте ви Redis для кешування, керування сесіями чи обміну повідомленнями, добре розуміння порту Redis - ключ до розкриття його повного потенціалу.
Порт Redis: часті запитання
Який порт Redis за замовчуванням?
Порт Redis за замовчуванням - 6379. У стандартній конфігурації Redis слухає цей порт для підключень клієнтів, якщо ви не зміните його в конфігурації або не запустите сервер з іншим значенням порту.
Для чого використовується порт 6379?
Порт 6379 - основний клієнтський порт Redis. Він використовується для звичайного трафіку застосунків, зокрема для підключення клієнтів, читання та запису даних і виконання команд Redis через такі інструменти, як redis-cli.
Як змінити порт Redis?
Змінити порт Redis можна, відредагувавши директиву port у файлі redis.conf і перезапустивши Redis. Інший варіант - запустити Redis із власним портом з командного рядка, наприклад запустити Redis на порту 6380 замість стандартного 6379.
Порт Redis 6379 - це TCP чи UDP?
Порт Redis 6379 використовує TCP, а не UDP. Клієнти Redis підключаються через TCP-з'єднання, хоча Redis також може працювати через Unix-сокети, якщо цю можливість увімкнено.
Який порт використовує Redis Sentinel?
Redis Sentinel за замовчуванням використовує порт 26379. Цей порт призначений для моніторингу Sentinel, виявлення екземплярів і координації перемикання при відмові, а не для звичайного трафіку читання й запису застосунків.
Як перевірити, чи працює Redis?
Найпростіший спосіб перевірити, чи працює Redis, - підключитися через redis-cli і надіслати команду PING. Якщо Redis доступний, він має повернути PONG. Для віддаленого екземпляра можна також безпосередньо перевірити конкретний хост і порт.