Professional Documents
Culture Documents
Методичка Redis-Дешко
Методичка Redis-Дешко
УКРАЇНИ
«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ ІМЕНІ
ІГОРЯ
СІКОРСЬКОГО»
ІНСТИТУТ ТЕЛЕКОМУНІКАЦІЙНИХ СИСТЕМ
Виконав:
студент групи ТІ-81
Дешко М.Л.
Київ 2020
Зміст
Вступ..........................................................................................................3
SQL бази даних.........................................................................................3
Бази даних NoSQL………………………………………………………4
Порівняння MySQL та NoSQL…………………………………………5
Що таке Redis?…………………………………………………………..6
Як працює Redis?………………………………………………………..7
Робота з Redis-server…………………………………………………….7
Типи данних Redis………………………………………………………9
Базові операції…………………………………………………………..9
Переваги Redis…………………………………………………………18
Завдання на лабараторну роботу 1……………………………………19
Завдання на лабараторну роботу 2……………………………………20
Вступ
Одне з найбільш важливих рішень, яке приймає розробник, полягає
в тому, яку базу даних використовувати. Протягом багатьох років
опції були обмежені різними варіантами реляційних баз даних, які
підтримували мову структурованих запитів (SQL). До них
відносяться MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 і
багато інших.
За останні 15 років на ринку з'явилося багато нових баз даних в
рамках підходу No-SQL. До них відносяться сховища ключів-
значень, такі як Redis і Amazon DynamoDB, широкі колоночного
бази, такі як Cassandra і HBase, сховища документів, такі як
MongoDB і Couchbase, а також графові бази даних і пошукові
системи, такі як Elasticsearch і Solr.
Що таке Redis?
Redis (розшифровується як Remote Dictionary Server) - це швидке
сховище даних типу «ключ-значення» в пам'яті з відкритим
вихідним кодом для використання в якості бази даних, кеша,
брокера повідомлень або черги.
Redis забезпечує час відгуку на рівні долею мілісекунди і дозволяє
додаткам, що працюють в режимі реального часу, виконувати
мільйони запитів в секунду. Такі додатки затребувані в сфері ігор,
рекламних технологій, фінансових сервісів, охорони здоров'я і IoT.
Redis широко застосовується для кешування, управління сеансами,
розробки ігор, створення таблиць лідерів, аналітики в режимі
реального часу, роботи з геопросторовими даними, підтримки служб
таксі, чатів і сервісів обміну повідомленнями, потокової передачі
мультимедіа і додатків з відправкою повідомлень за моделлю
«видавець - передплатник »(Pub / Sub).
Як працює Redis?
Всі дані в Redis зберігаються в пам'яті, а не на дисках або
твердотільних накопичувачах, як в інших базах даних. Оскільки
Redis, як і інші сховища даних в пам'яті, не потребує доступі до
диска, це виключає затримки, пов'язані з пошуком, і забезпечує
доступ до даних за мікросекунди. У число можливостей Redis
входить підтримка різноманітних структур даних, забезпечення
високої доступності, робота з геопросторовими даними, створення
скриптів Lua, проведення транзакцій, постійне зберігання даних на
диску і підтримка кластерів. Все це спрощує створення додатків, що
працюють в режимі реального часу в масштабі всього Інтернету.
Робота з Redis-server
Проект Redis офіційно не підтримує Windows.
Проте, група Microsoft Open Tech розробляє і підтримує цей порт
Windows, орієнтований на Win64.
Базові операції
Тепер від теорії можна перейти і до практики.
Для спілкування з Redis використовується клієнтська програма redis-
cli.
SET , GET , GETSET
Команда set використовується для встановлення значення ключа.В
даному випадку ключу name поставлено у відповідність значення
Kolya.
Команда get використовується для отримання значення по ключу.
Команда getset встановлює значення ключа, а також виводить
попереднє значення цього ключа. Команди mset та mget дозволяють
встановити або вивести значення декількох ключі відповідно.
EXISTS
Дана команда допомогає перевірити чи зберігається за даним
ключом значення. В даному випадку при перевірці ключа name
отримуємо 1, а при перевірці ключа surname отримуємо 0.
TYPE
За допомогою команди type можна дізнатися який тип данних
зберігається під даним ключем.
KEYS
Команда keys дає змогу знайти ключі. В даному випадку було
знайдено ключ name по шаблону na*
DEL
Команда del видаляє значення по ключу.
RENAME
Дозволяє змінити назву ключа. В даному випадку змінюємо назву
ключа test на назву space.
Операції декремент та інкримент
Команди incr та decr додають до значення ключа одиницю та
віднімають від значення ключа одиницю відповідно.
Команди incrby та decrby збільшують значення на задане число.
HINCRBY, HDEL
За допомогою команди hincrby можна додати до якогось поля певне
значення. В даному випадку ми збільшили значення age на 2.
Для видалення певного ключа, можна скористатися командою hdel.
Тразнакції
Redis також підтримує транзакції, що дозволяють виконати за один
крок групу команд, і команда інших запитів не зможуть в неї
вклинитися, при цьому він гарантує не суперечливість і
послідовність виконання набору команд, а в разі якихось проблем
дозволяє і відкотити ці зміни
Для реалізації транзакцій у Redis використовуються наступні
основні команди:
MULTI - почати записувати команду для транзакцій.
EXEC - виконувати записані команди.
DISCARD - видалити всі записані команди.
WATCH - команда, гарантуючи подання типу «реєстрація та
встановлення» (CAS) - транзакція виконується лише у випадку,
якщо інші клієнти не змінили значення переменної. Іначе EXEC не
виконував записаних команд.
Тепер давайте спробуємо почати транзакцію, а потім перервати.