Что такое Редис
-
Базовые концепты
Redis — это открытый исходный код, написанный на языке C, поддерживающий сетевое взаимодействие, может быть основан на памяти, а также может быть постоянной базой данных Key-Value (нереляционной базой данных).
-
Преимущества редис
-
Быстро, потому что данные хранятся в памяти, аналогично HashMap, преимущество HashMap в том, что временная сложность поиска и работы составляет O(1)
-
Поддержите насыщенные типы данных, строка поддержки, списка, набор, сортировку набор, хеш
-
Транзакции поддерживаются, а операции атомарны, так называемая атомарность означает, что все изменения данных либо выполняются, либо не выполняются вообще.
-
Богатые возможности: можно использовать для кеша, сообщения, установить время истечения срока действия в соответствии с ключом, он будет автоматически удален после истечения срока действия
Сценарии применения Redis
-
тайник
(1) Для того, чтобы некоторые кеши возвращались к внешним данным, когда имеется большое количество SQL-операций базы данных, чтобы избежать запроса базы данных для каждого запроса интерфейса, некоторые данные могут быть кэшированы в Redis, что для получать данные непосредственно из памяти, скорость намного выше.
(2) Веб-пользователи используются для входа в систему для кэширования данных сеанса.Некоторая информация о входе в систему сохраняется в сеансе и кэшируется в Redis.
-
очередь
Интерфейс списка предоставляется в Redis. Этот список предоставляет lpush и rpop. Эти два метода являются атомарными и могут вставлять и извлекать элементы очереди.
-
хранилище данных
Redis — это нереляционная база данных. Redis можно напрямую использовать для хранения данных, обеспечивая такие операции, как добавление, удаление, изменение и проверку. Поскольку Redis имеет хороший механизм сохранения на жестком диске, данные Redis могут периодически сохраняться на жестком диске, обеспечивая целостность данных Redis, секс и безопасность.
-
Блокировка Redis реализует механизм защиты от кистей
Блокировки Redis могут справиться с проблемами параллелизма.В типе данных redis есть тип set.Тип set неупорядочен при хранении данных, и каждое значение отличается и не может повторяться, так что вы можете быстро найти определенный элемент в элементе , Независимо от того, существует ли значение, операции добавления и удаления выполняются точно.
Примечание. Основные операции сценариев использования Redis будут объяснены в Redis Learning (3) — реальный бой.
установка и запуск Redis
- Установка Redis.
-
Redis относительно просто устанавливать себя, пожалуйста, Baidu
-
Изменить конфигурацию пароля Redis
Откройте файл конфигурации redis.windows.conf // Оконная система - это система Linux с Windows Redis.conf Найти потребности FOOBARED FOOBARED, удалите предыдущий # знак и измените FOOBARED на пароль Например, требуетсяepass 123456
Обратите внимание на смену пароля, вам нужно перезапустить сервер Redis
-
Как изменить фоновый запуск службы Redis
Рекомендуемый блог: https://blog.csdn.net/ksdb0468473/article/details/52126009
- Основные команды Redis
-
Обнаружить команду запуска клиента Redis:
redis-clis
-
Запустите команду Redis:
./redis-server запускает redis напрямую Иногда необходимо запустить redis с фиксированным конфигурационным файлом (сбросом пароля), например redis-server redis/redis.windows.conf или ./redis-server ../redis.conf
-
Команды, связанные со службой Redis
Удалите службу: redis-server --service-uninstall
Запустите службу: redis-server --service-start
Остановить службу: redis-server --service-stop
Redis Basic Тип данных
Redis — это продвинутая нереляционная база данных с ключом и значением. , где value поддерживает пять типов данных: строка, список, набор, хеш, больной набор
- строка (строка) Тип элемента хранения строк может быть string/int/float, а тип int может увеличиваться и уменьшаться. Фактический процесс работы кода:
[root@VM_160_197_centos /]# redis-cli
127.0.0.1:6379> set string1 koala
OK
127.0.0.1:6379> get string1
"koala"
127.0.0.1:6379> set string2 2
OK
127.0.0.1:6379> get string2
"2"
127.0.0.1:6379> incr string2
(integer) 3
127.0.0.1:6379> get string2
"3"
127.0.0.1:6379> decrby string2 2
(integer) 1
127.0.0.1:6379> get string2
"1"
- список строк Тип списка — упорядоченный список, независимо от того, идет ли он слева направо или справа налево, и содержимое данных может повторяться. Фактический процесс работы кода:
[root@VM_160_197_centos /]# redis-cli
127.0.0.1:6379> lpush list1 12
(integer) 1
127.0.0.1:6379> lpush list1 13
(integer) 2
127.0.0.1:6379> lpush list1 12
(integer) 3
127.0.0.1:6379> rpop list1
"12"
127.0.0.1:6379> lpush list2 12
(integer) 1
127.0.0.1:6379> lpush list2 13
(integer) 2
127.0.0.1:6379> lpush list2 12
(integer) 3
127.0.0.1:6379> llen list2
(integer) 3
127.0.0.1:6379>
-
Коллекция строк (набор)
Тип набора обеспечивает неупорядоченный способ хранения нескольких различных элементов.Значение каждого элемента в типе набора отличается.Пользователи могут быстро добавлять или удалять значения в элементах и проверять, существуют ли определенные значения.Повторяющиеся элементы не могут быть вставлены в коллекцию. Фактический процесс работы кода:
127.0.0.1:6379> sadd set1 12
(integer) 1
127.0.0.1:6379> sadd set1 12
(integer) 0
127.0.0.1:6379> scard set1
(integer) 1
127.0.0.1:6379> sadd set1 13
(integer) 1
127.0.0.1:6379> scard set1
(integer) 2
127.0.0.1:6379> sadd set1 13
(integer) 0
127.0.0.1:6379> sismember set1 13 //查看13是否在集合中
(integer) 1
127.0.0.1:6379> srem set1 13 //从集合中删除13
-
хэш
Хэш-тип также называется хэш-типом, и при сохранении он сохраняет пары ключ-значение. При запросе количества записей, если работоспособность отличается, количество записей отличается, хотя значение одинаково.
Фактический процесс работы кода:
[root@VM_160_197_centos /]# redis-cli
127.0.0.1:6379> hset hash1 key1 12
(integer) 1
127.0.0.1:6379> hget hash1 key1
"12"
127.0.0.1:6379> hset hash1 key2 13
(integer) 1
127.0.0.1:6379> hset hash1 key3 13
(integer) 1
127.0.0.1:6379> hlen hash1//查询条数的时候只要是健不一样,就是不同的条数,尽管值是相同的。
(integer) 3
127.0.0.1:6379> hset hsah1 key3 14
(integer) 1
127.0.0.1:6379> hset hash1 key3 14
(integer) 0
127.0.0.1:6379> hget hash1 key3
"14"
127.0.0.1:6379> hmget hash1 key1 key2 //同时获取key1和key2的值
1) "12"
2) "13"
- отсортированный набор строк
Больной набор также называется упорядоченным набором баллов.Его можно рассматривать как ранговый список.Каждый студент имеет свой собственный балл,а также в рейтинговом списке есть атрибут ранжирования.Также он продолжает расти. , этот тип немного сложный, давайте сфотографируем.
функция набора сортировки
1) Значения в соре множестве глобально уникальны.
После того, как значение установлено, его повторная установка не увеличит, а только перезапишет изменение.
2) Если две оценки одинаковы, как должен выглядеть рейтинг? Если значения двух дробей совпадают, они будут отсортированы в соответствии с лексикографическим порядком имен переменных двух элементов См. Код операции ниже.
Фактический процесс работы кода:
127.0.0.1:6379[1]> zadd zset1 10.1 val1 //添加一个值和分数 (integer) 1 127.0.0.1:6379[1]> zadd zset1 11.1 val2 (integer) 1 127.0.0.1:6379[1]> zadd zset1 9.2 val3 (integer) 1 127.0.0.1:6379[1]> zcard zset1 //统计当前key下值的个数 (integer) 3 127.0.0.1:6379[1]> zrange zset1 0 2 withscores //查看0到2的所有值和分数按照排名 1) "val3" 2) "9.1999999999999993" 3) "val1" 4) "10.1" 5) "val2" 6) "11.1" 127.0.0.1:6379[1]> zrank zset1 val2 (integer) 2 127.0.0.1:6379[1]> zadd zset1 12.2 val3 //覆盖iu该val3 (integer) 0 127.0.0.1:6379[1]> zrange zset1 0 2 withscores//查看0到2的所有值和分数按照排名 1) "val1" 2) "10.1" 3) "val2" 4) "11.1" 5) "val3" 6) "12.199999999999999" 127.0.0.1:6379[1]> zadd zset1 12.2 val2 (integer) 0 127.0.0.1:6379[1]> zrange zset1 0 2 withscores//这时候有两个分数相同,查看0到2的所有值和分数按照排名 1) "val1" 2) "10.1" 3) "val2" 4) "12.199999999999999" 5) "val3" 6) "12.199999999999999"
рекомендуемая статья:Сверхдетальное изучение Redis (2) — продвинутый уровень Сверхдетальное изучение Redis (3) - доработка фактической боевой сводки в проектеВ более поздний период серия Redis будет постоянно обновляться, включая конкретный контент в реальном бою.В то же время рекомендуется также прочитать документацию на официальном сайте Redis, хе-хе.
Думаете, эта статья была вам полезна? пожалуйста, поделитесь с большим количеством людейПриглашаю всех обратить внимание на мой официальный аккаунт - руководство по развитию программистов. Пожалуйста, найдите WeChat самостоятельно - "Руководство по развитию программиста"