Як встановити і використовувати redis

Що таке Redis?

Перед установкою Redis слід врахувати пару нюансів. Для початку відновимо пакети apt-get:

По завершенню процесу, встановимо компілятор з залежними пакетами, за допомогою якого ми і встановимо Redis з вихідного коду:

Нарешті, завантажить tcl:

установка Redis

Після необхідної підготовки, ми готові приступити до установки Redis з вихідних:

Далі виконайте команду make:

Рекомендується провести тест збірки:

По завершенню установки, ми отримаємо Redis з вбудованим скриптом для запуску сервера в якості служби. Для доступу до скрипту перейдіть в каталог utils:

Запустіть скрипт з цього каталогу:

Отримати доступ до БД Redis можна за допомогою команди:

Ваш Redis сервер готовий і запущений, підтвердженням тому служить рядок:

Для автоматичного запуску сервера при завантаженні системи виконайте:

операції Redis

Найпростіша команда для додавання строкових даних (основний тип даних) може виглядати так:

У цьому випадку за командою SET слід ключ (users: GeorgeWashington), а за ним значення (сама рядок). Двокрапка в Redis не впливає на команду. Проте його використання корисно для опису ключа.

Витягти дані можна командою GET:

При вивантаженні даних можна вказувати діапазон за допомогою двох параметрів: перший і останній елементи (в якості першого елемента приймають 0). Якщо останній параметр дорівнює -1, то ви отримаєте всі елементи до кінця. Наприклад, якщо список містить 6 кольорів веселки (відсортованих за принципом ROYGBV), ви отримаєте наступні результати:

Термін дії

Redis корисний як сховище в якому можна зберігати дані з певним терміном дії. Час дії може бути зазначено в секундах або в форматі Unix timestamp (кількість секунд з 1.1.1970).

Дві команди для налаштування:

  • EXPIRE - задає тривалість дії даних
  • TTL - показує час, що залишився дії.

При спробі вибірки прострочених даних, ми отримаємо nil

Redis підтримує атомарний інкремент строкових даних. При роботі инкремента доступ до даних блокується, таким чином здійснюється цілісність даних.

транзакції

Redis також підтримує виконання транзакцій, які повинні дотримуватися двох принципів:

  1. Команди повинні виконуватися по порядку. Вони не буде перервано іншими запитами протягом всього процесу.
  2. Повинна бути забезпечена цілісність транзакції.

Транзакції починаються з команди MULTI. а запускаються командою EXEC. Якщо з яких-небудь причин транзакція переривається, Redis заблокує її виконання до тих пір, поки не буде виконана команда redis-check-aof і скасовані всі зміни. Після цього сервер можна буде перезапустити:

Типи даних Redis

Redis працює з п'ятьма типами даних: Strings (рядки), Sets (безлічі), Sorted Sets (сортовані безлічі), Lists (списки), Hashes (хеш)

Рядки - найпоширеніший тип даних в Redis. Часто зустрічаються команди при роботі з рядками:

  • SET - установка значення ключу
  • GET - вибірка значення по ключу
  • DEL - видалення ключа і значення
  • INCR - автоматичний інкремент ключа
  • INCRBY - інкремент на зазначену величину
  • EXPIRE - час життя даних в секундах

Рядки можуть бути використані для зберігання об'єктів, відсортованих по ключу. приклад:

Групувати рядки можна за допомогою множин - набір рядків без сортування. Часто зустрічаються команди:

  • SADD - додавання одного або декількох значень до безлічі
  • SMEMBERS - вибірка всіх значень безлічі
  • SINTER - вибірка загальних значень декількох множин
  • SISMEMBER - перевірка присутності значення в безлічі
  • SRANDMEMBER - вибірка випадкового значення з безлічі

Безлічі досить часто застосовні в різних ситуаціях. Так як кожне значення безлічі індивідуально, не потрібно перевірка перед додаванням. При виконанні команди SADD така перевірка виконується автоматично.

Безлічі з сортуванням

Назва говорить сама за себе - колекція рядків асоційованих з чисельним значенням, відсортованих по збільшенню цього значення.

Такий тип даних часто застосовується з діапазонами, так як додавання і видалення даних виконується значно швидше. Часто зустрічаються команди:

  • ZADD - додавання значення до безлічі
  • ZRANGE - відображення значень відсортованих за індексом (від меншого до більшого)
  • ZREVRANGE - відображення значень відсортованих за індексом (від більшого до меншого)
  • ZREM - видалення значення

Ми можемо створити просте безліч з розмірами самих маленьких країн у світі.

Списки в Redis - колекція відсортованих значень, що їх і відрізняє від множин. Додавання елемента в початок або кінець списку виконується дуже швидко навіть якщо список складається з десяти мільйонів елементів. Часто зустрічаються команди:

  • LPUSH - додавання значення в початок списку
  • RPUSH - додавання значення в кінець списку
  • LPOP - вибірка і видалення значення першого елемента в списку
  • RPOP - вибірка і видалення останнього елемента в списку
  • LREM - видалення діапазону елементів зі списку
  • LRANGE - вибірка діапазону елементів зі списку
  • LTRIM - зміни списку з видаленням всіх елементів не входять в зазначений діапазон

Приклад списку людей відповідальних за ланч:

Додавання людини в початок черги виглядає наступним чином:

Команда LRANGE виведе весь список:

Списку часто застосовуються для зберігання тимчасових подій або колекції з обмеженого числа елементів.

Хеш в Redis - спосіб зберігання об'єктів, що складаються з безлічі полів. Вони призначені для зберігання великої кількості полів в маленькому просторі. Хеш здатні зберігати більше 4 мільярдів пар поле-значення. Часто зустрічаються команди:

  • HMSET - установка декількох значень
  • HSET - установка поля зі строкових значенням
  • HGET - вибірка значення по полю
  • HMGET - вибірка всіх значень зазначених полів
  • HGETALL - вибірка всіх значень

Приклад використання типу хеш для опису прикладу з користувачем сайту

Для отримання певної інформації використовуйте команду HMGET

висновок

Redis швидко завойовує популярність з моменту свого випуску серед таких проектів, як github, flickr, Disqus і Craigslist. Також сховище працює з більшістю мов програмування.

Схожі статті