Похожие презентации:
Лекция4
1.
Введение в RedisСтруктуры данных
Команды Redis
2.
Введение в RedisRedis (Remote Dictionary Server) – это
нереляционная структура данных в памяти,
используемая в качестве базы данных.
Данные в Redis хранятся в виде пары
ключ-значение.
Карл Сегуин. Маленькая книга о Redis (The Little MongoDB Book)
3.
Структуры данных RedisСтроки (Strings). Строки в Redis бинарно-безопасны,
могут использоваться так же как числа.
Хеш-таблицы (Hashes). Классические хеш-таблицы или
ассоциативные массивы.
Множества (Sets). Не упорядоченное множество строк,
поддерживают операции вставки, проверки вхождения
элемента, пересечения и разницы множеств.
Упорядоченные множества (Sorted Sets). Отличается от
обычного множества тем, что его элементы упорядочены
по особому параметру «score».
Списки (Lists). Классические списки строк,
упорядоченные в порядке вставки, которая возможна
как со стороны головы, так и со стороны хвоста списка.
4.
Начало работы в redis1. Разархивируйте скачанный архив с базой данных Redis
2.
3.
4.
5.
Запустите сервер (из папки 64bit): redis-server.exe
Запустите клиента: redis-cli.exe
Все команды запускаем в консоли клиента.
Установите базу данных командой: select 1
Все базы данных в redis устанавливаются под номерами
(от 0 до 15).
5.
Строки (Strings)Строки хранятся в виде пар: ключ-значение.
SET – установка ключа и его значения, с
дополнительными необязательными
параметрами для указания срока действия
записи значения ключа.
SET name "Mila"
SET age 21 ex 5
6.
Строки (Strings)GET – получение значения, связанного с
ключом. Если запись значения ключа
превысила срок действия, будет возвращено
nil.
GET name
7.
Строки (Strings)EXISTS – проверка, существует ли что-то с
данным ключом. Возвращает 1 если объект
существует или 0 если нет.
EXISTS age
8.
Строки (Strings)GETSET – возвращает текущее значение и
устанавливает новое. Используется для
атомарного управления данными.
SET favorite:colors "white black"
GETSET favorite:colors "yellow green blue"
GET favorite:colors
GETSET favorite:food "pizza burger chips"
9.
Строки (Strings)DEL – удаление ключа и соответствующего
значения.
DEL favorite:food
FLUSHDB – удаление всех данных (значений и
ключей) из текущей базы данных, в которой
вы находитесь.
FLUSHALL – удаление всех данных (значений и
ключей) в текущем сеансе.
10.
Строки (Strings)APPEND – добавление в соответствующий
ключ дополнительного значения.
Возвращается количество символов итогового
значения.
SET person1:hobby "game"
APPEND person1:hobby " sport"
GET person1:hobby
-- "game sport"
11.
Строки (Strings)KEYS – возвращает все ключи из базы данных
по указанному шаблону.
KEYS *
-- 1) "hobby"
-- 2) "color"
KEYS col*
-- 1) "color"
12.
Строки (Strings)INCR / DECR – увеличение/уменьшение
значения на 1 (для числовых данных).
SET myscore 70
INCR myscore
-- (integer) 71
INCR myscore
-- (integer) 72
DECR myscore
-- (integer) 71
13.
Строки (Strings)RENAME – переименование ключей.
RENAME name1 name2
GET name1
-- (nil)
GET name2
-- "bar"
14.
Строки (Strings)Операции со строками
strlen key – длина строки
getrange key k1 k2 – вывод символов строки с
k1 по k2
append key another_string – добавление
строки в указанный ключ
15.
Хеши (Hashes)Хеши во многом похожи на строки. Важным
отличием является то, что они предоставляют
дополнительный уровень адресации данных –
поля (fields).
HSET – запись объекта в хеш-таблицу.
HSET user1 name "Eva"
HSET user1 age 10
16.
Хеши (Hashes)Вывод значений:
HGET user1 name
-- "Eva"
HGETALL user1
-- 1) "name"
-- 2) "Eva"
-- 3) "age"
-- 4) 10
17.
Хеши (Hashes)HSET users:child1 name Eva
Установка и вывод нескольких множеств:
HMSET users:child1 age 5 place Zolushka
HMGET users:child1 place age
HGETALL users:child1
Вывод и удаление ключей:
HKEYS users:child1
HDEL users:child1 age
18.
Списки (Lists)Списки позволяют хранить и манипулировать
массивами значений для заданного ключа.
Списки сохраняют порядок своих значений и имеют
эффективные операции с использованием индексов.
LPUSH / RPUSH – добавление элементов в список
(в начало /в конец списка).
19.
Списки (Lists)LPUSH subject chemistry
RPUSH subject biology
LPUSH subject math
LPUSH subject informatics
LRANGE subject 0 -1 //вывод всего списка
LLEN subject //количество элементов в списке
Укорачиваем список:
LTRIM subject 0 2
LRANGE subject 0 5 //вывод списка с 0 индекса по 5
LSET subject 2 phisics //меняем значение первого элемента
20.
Множества (Sets)Множества используются для хранения
уникальных значений и предоставляют набор
операций – таких, как объединение.
Множества не упорядочены, но предоставляют
эффективные операции со значениями.
21.
Множества (Sets)SADD – запись множества
SADD myanimals pet1
SADD myanimals pet2
SADD myanimals pet3
SMEMBERS myanimals
-- 1) "pet1"
-- 2) "pet2"
-- 3) "pet3"
22.
Множества (Sets)SADD friend_animals pet1 pet3
Пересечения множеств:
SINTER friend_animals myanimals
-- 1) "pet3"
-- 2) "pet1“
Сохраняем результат под новым ключом:
SINTERSTORE friend_animals myanimals
23.
Упорядоченные множества (Sorted Sets)ZADD – для записи упорядоченного
множества.
ZADD cities 157 Khabarovsk
ZADD cities 31 Novosibirsk
ZRANGE cities 0-1
1) "Novosibirsk"
2) "Khabarovsk"
24.
Команды Redishttps://redis.io/commands/
25.
Лабораторная работа 51. Сохраните в хеш-таблицы объекты,
хранящие имена персон и их электронную
почту.
2. Выведите объекты на экран.
3. Добавьте новую персону.
4. Сохраните имена персон во множествах
(sets).
5. Выведите сведения о персонах используя
множества.