Рубрики
Uncategorized

Обзор реальных боевых действий Редиса

Автор оригинала: David Wong.

Удаленный сервер словарей (Служба удаленных данных), технология NoSQL, представляет собой систему кэширования на основе значений ключей, которая является одной из наиболее широко используемых систем кэширования.

Часть I Основные концепции и вопросы, требующие внимания

1.1 Что такое Redis?

Redis: Удаленный сервер словарей (Служба удаленных данных), технология NoSQL, представляет собой систему кэширования на основе значений ключей. Redis-это база данных с открытым исходным кодом на основе журналов, ключей и значений, написанная на языке ANSI C, поддерживающая сеть, основанную на памяти и постоянную, и предоставляющая API на многих языках. Подобно Memcache , он поддерживает более сложные структуры данных, такие как список, Набор, сортированный набор, и имеет функцию сохранения [1].

Redis обладает следующими характеристиками:

  • Redis поддерживает сохранение данных. Можно сказать, что данные в памяти Cao Village находятся на диске и могут быть загружены снова при перезапуске для использования.
  • Red не только поддерживает данные простого типа ключ-значение, но также хранит структуры данных, такие как список, Набор, хэш и так далее.
  • Redis поддерживает резервное копирование данных, т. е. режим “ведущий-ведомый”.

1.2 Принципы кэширования Redis

Общий сценарий-это сервер кэша данных, соответствующий роли Memcache; по сути, сервер базы данных Redis Кэширования На основе предоставленного кэширования также обеспечивается сохраняемость (репликация) данных, которая должна обеспечивать функции на уровне базы данных.

Механизм реализации: При работе операционная память позволяет синхронизировать настройки на диск.

1.3 В чем разница между Redis и Memcache?

1. Режим хранения:

  • Данные панели Memcache все существуют в памяти, отключение питания или перезагрузка сервера приведет к зависанию, не удается восстановить данные, размер данных не может быть равен размеру памяти.
  • У Redis есть некоторые данные на диске, что обеспечивает сохраняемость данных. Он может периодически сохраняться на диске (сохраняемость), а данные в памяти могут быть восстановлены после потери.

2. Типы поддержки данных:

  • Redis поддерживает больше данных, чем Memcache. Red не только поддерживает простые данные типа ключ-значение, но также поддерживает хранение списков, наборов, хэшей и других структур данных.
  • Значение Redis поддерживает 512 М, а значение Memcache поддерживает 1 м.

3. Используйте различные базовые модели

  • Новая версия EDIUS напрямую создает свой собственный механизм виртуальной машины, поскольку для общих системных вызовов системным функциям необходимо потратить определенное количество времени на перемещение и запрос, а собственный механизм виртуальной машины сэкономит время.
  • Redis работает на одном ядре, в то время как Memcache работает на большем количестве напитков.
  • Скорость чтения и записи: Redis записывает с той же скоростью, что и Memcache, и читает быстрее, чем Redis.

4. Различные рабочие среды

  • Redis Redis поддерживает только выполнение в Linux, что исключает поддержку других операционных систем и может быть лучше использовано для оптимизации системной среды.

5. Смотрите сценарий приложения специально для выбора из двух

  • Если данные, которые необходимо кэшировать, представляют собой простую структуру, такую как ключ-значение, сначала рассмотрите Memcache. Он достаточно стабилен и надежен.
  • Когда дело доходит до ряда сложных операций, таких как хранение, сортировка и т.д., Нет никаких сомнений в том, что Redis-это правильный выбор.

1.4 Описание файла конфигурации Redis.conf

1. Redis по умолчанию не запускается как демон. Он может быть изменен этим элементом конфигурации, чтобы включить демонизацию ” нет “с помощью “да”.

2. Когда Redis запускается как демон, Redis по умолчанию записывает PID в/var/run/redis . Файл PID, который можно использовать для определения местоположения хранилища: pidfile/var/run/redis. pid.

3. Укажите порт прослушивания Redis, порт по умолчанию 6379.

4. Адрес узла привязки: привязка 127.0.0.1

5. Закройте соединение, когда клиент простаивает в течение какого времени, если установлено значение 0, это означает закрытие функции. Тайм-аут 300.

6. Учитывая уровень ведения журнала, Redis поддерживает четыре уровня отладки: подробный, уведомление, предупреждение и подробный: подробный уровень журнала по умолчанию.

7. Установите количество баз данных. База данных по умолчанию равна 0. Вы можете использовать команду SELECT < dbid>, чтобы указать идентификатор базы данных: базы данных 16 в соединении.

8. Укажите, как долго и сколько раз обновляются данные, затем синхронизируйте данные с файлом данных, который может быть согласован с несколькими условиями:

save 
// Redis default configuration file provides three conditions
save 900 1
save 300 10
save 60 10000

Указывает на одно изменение за 900 секунд (15 минут), 10 изменений за 300 секунд (5 минут) и 10 000 изменений за 60 секунд.

9. Укажите имя локального файла данных со значением по умолчанию dump. rdb: dbfilename dump. RDB

10. Укажите каталог локального хранилища базы данных: dir./

11. Установите пароль для подключения Redis. Если пароль подключения настроен, клиенту необходимо указать пароль с помощью команды AUTH < пароль > при подключении к Redis. Значение по умолчанию-закрыть: requirepass вводит пароль.

12. Статус сервера входа в систему: информация

1.5 Резервное копирование и восстановление данных Redis

Принцип и процесс резервного копирования: Сервер базы данных кэша=> Хранение данных кэша в памяти=> Хранение базы данных на диске=> Выполнение инструкций, которые автоматически добавляют данные в память, и резервное копирование данных в указанное расположение файла=> Команда Redis SAVE используется для создания резервной копии текущей базы данных.

Сохранить: Немедленно сохраните моментальные снимки (данные памяти, сохраненные на диске)

Bgsave: Сохраняйте моментальные снимки немедленно в фоновом режиме (данные памяти сохраняются на диске)

1.6 Обработка транзакций Redis

Обработка транзакций Redis относительно проста. Только команды в транзакции, инициированной клиентом, могут выполняться непрерывно без вставки других команд клиента. Когда клиент выдает несколько команд в соединении, соединение входит в контекст транзакции. Последующие команды подключения не выполняются, а сохраняются в очереди. При выполнении команд exec redis последовательно выполнит все команды в очереди. Команда. Если в выполнении есть ошибки, правильное выполнение не будет откатываться, в отличие от транзакций в реляционных базах данных.

1. МУЛЬТИ отмечает начало (открытие) блока транзакций.

2. EXEC выполняет команды в блоке транзакций.

127.0.0.1:6379> multi
Ok
127.0.0.1:6379> set user ak
QUEUED
127.0.0.1:6379> set school Tsinghua
QUEUED
127.0.0.1:6379> set Class Pking
QUEUED
127.0.0.1:6379> exec
OK
OK
OK

3. ОТМЕНА отменяет транзакцию и прекращает выполнение всех команд в блоке транзакций.

127.0.0.1:6379> multi
Ok
127.0.0.1:6379> set user ak
QUEUED
127.0.0.1:6379> set school Tsinghua
QUEUED
127.0.0.1:6379> discard
OK
127.0.0.1:6379> get user
(nil)

4. Клавиша НАБЛЮДЕНИЯ [клавиша…] отслеживает один (или несколько) ключ, и если этот (или эти) ключ будет изменен другими командами до выполнения транзакции, транзакция будет прервана.

127.0.0.1:6379> watch user
Ok
127.0.0.1:6379> watch school
ok

5. UNWATCH отменяет команду WATCH для отслеживания всех клавиш.

1.7 Команда безопасного подключения Redis

1. Для настройки клиентского подключения требуется указанный пароль (поскольку redis работает довольно быстро, 150 тыс. попыток ввода пароля в секунду, поэтому вам необходимо установить пароль с высокой надежностью пароля).

Существует два способа установки пароля:

(1) Используя параметр requirepass команды config set, определенный формат-config set requirepass “пароль”. (2) Установите свойство requirepass в файле redis.conf, за которым следует пароль.

Существует также два способа ввода аутентификации:

(1) Вы можете повторно ввести пароль при входе в систему

(2) Используйте пароль аутентификации после входа в систему

// 1. Setting a password: First you need to enter the Redis installation directory, and then modify the configuration file redis.conf. According to the result of grep command, use vi editor to modify " requirepass foobared" to "requirepass aklman" and save the exit.
$ grep -n requirepass /etc/redis.conf
$ sudo vim /etc/redis.conf

// 2. Restart redis-server and redis-cli:
$ sudo service redis-server restart
$ redis-cli
> info
// No privilege prompt
> auth aklman
> info
// Successful query of data
> exit
// The results show that the first info command failed and the info command returned normally after auth authentication. Finally, exit redis-cli.
// Or log in like this:
$ redis-cli -a aklman
> info

2. ЭХО-сообщение: Строка печати

3. PING: Проверьте, запущена ли служба

4. ВЫХОД: Закройте текущее соединение.

5. ВЫБЕРИТЕ индекс: Переключитесь на указанную базу данных

1.8 Сохранение данных Redis AOF (Только для добавления файла)

Redis-это база данных памяти, которая поддерживает сохраняемость. Red часто требуется синхронизировать данные в памяти с диском для обеспечения сохраняемости.

Redis поддерживает два подхода к сохранению:

1. база данных мгновенных снимков (snapshotting RDB), которая по умолчанию хранит данные в файлах. То есть содержимое в памяти сжимается и сохраняется непосредственно на жестком диске. Таким образом, когда он запускается, скорость загрузки очень высока! __________

Запишите моментальный снимок данных в памяти в двоичный файл. Дамп файла по умолчанию. База данных RDB может автоматически сохранять моментальные снимки с помощью параметров конфигурации. Настраиваемый радиус автоматически сохраняет снимки за N секунд, если изменено более m ключей.

A keys change in save 900 1 # 900 seconds will cause persistence
With 10 keys changes in save 300 10 # 300 seconds, persistence is performed, and it is more convenient to change to save 100 6
Save 60,000# 60 seconds with a wk keys change, and persistence is performed

Преимущества:

  • 1. База данных содержит только один файл, который можно периодически настраивать для восстановления после сбоя системы с помощью стратегии резервного копирования файлов.
  • 2. Перенесите сжатые файлы на другие носители.
  • 3. Максимизируйте производительность. Когда Redis начинает сохраняться, он разветвляет процесс и завершает работу по сохранению процесса. Это позволяет избежать серверного процесса для выполнения операций ввода-вывода и обеспечивает высокую эффективность запуска.

Низкое качество:

  • 1. Не может быть высокодоступной: система должна быть отключена до истечения времени сохранения, данные не были записаны, данные были потеряны.
  • Когда набор данных большой, сервер останавливается на сотни миллисекунд или даже на одну секунду.

Вывод:

  • Redis-это сервер памяти, данные, необходимые для работы, хранятся в памяти. Скорость доступа очень высока, но если мы хотим сохранить наши данные на жестком диске, нам нужно сохранить их. Когда происходит сохранение, существует механизм сохранения и механизм сохранения моментальных снимков; это сохранение определяется изменениями во времени и ключе.
  • Конфигурация по умолчанию-очень хорошая конфигурация, указывающая на то, что измененные значения находятся в памяти, когда нет сохранения. В это время, если на сервере возникнет исключение, эти значения в памяти будут опустошены! Если сервер снова запустится после исключения, мы прочитаем данные из постоянного файла в память. Если до этого не было постоянных данных, мы не сможем их найти.

2. Файл только для добавления (сокращенно) хранит операции чтения и записи в файлах.

Поскольку снимки делаются через регулярные промежутки времени, если красный цвет случайно выпадет, все изменения после последнего снимка будут потеряны.

Of обладает лучшей сохраняемостью, чем моментальный снимок, потому что при использовании aof redis будет записывать каждую команду записи, полученную в файл с помощью функции записи. При запуске redis он перестроит все содержимое базы данных в памяти, повторно выполнив команду записи, сохраненную в файле.

Поскольку ОС кэширует изменения, внесенные при записи в ядро, они могут быть записаны на диск не сразу, поэтому сохранение в выключенном режиме также может привести к потере некоторых данных. Вы можете сообщить redis через файл конфигурации, когда мы хотим заставить ОС записывать данные на диск с помощью функции fsync.

Настраиваемые параметры в файле конфигурации:

Appndonly yes // Enable AOF persistence mode
# Appndfsync always /// Write to disk as soon as you receive a write command, the slowest, but guarantees complete persistence of data
Appndfsync everysec // writes to disk once a second, making a good compromise between performance and persistence
# Appndfsync no // fully os-dependent, best performance, no guarantees for persistence

Описание параметров:

  • Всегда: всегда сохраняйте выполненные команды в наши файлы. Любые изменения должны быть сохранены в наших файлах. Время от времени запись файлов будет связана с вводом-выводом, и наша скорость будет замедляться.
  • Каждый аспект: Настойчивость один раз в секунду. Сколько изменений в секунду сохраняется! То есть записывать, изменять и записывать в наши файлы за одну секунду.
  • Нет: Это случайная операция в соответствии с вводом-выводом нашей системы.
  • 600 ключей меняются каждую секунду, и в этот момент, если сервер исключений зависает. Мы потеряли 600 КЛЮЧЕЙ.

Преимущества:

  • 1. синхронизация:
  • Синхронизация в секунду: асинхронное завершение, высокая эффективность, после простоя системы, потеря измененных данных;
  • Синхронизация за модификацию: Сохранение синхронизации, изменения в минуту, записанные на диске, неэффективно, безопасно;
  • Асинхронность
  • 2. Добавить: Добавьте режим записи журнала в режим работы: время простоя системы, не влияет на существующий контент, запишите половину данных, если система выйдет из строя, следующий запуск redis, инструмент redis-check-aof для решения проблемы согласованности данных.
  • 3. Если журнал слишком велик, механизм автоматической перезаписи записывает измененные данные в файлы на диске, создает новые файлы, записывает сгенерированные команды изменения и обеспечивает безопасность данных при переключении перезаписи.
  • 4. Файл журнала с четким форматом для завершения восстановления данных

Низкое качество:

  • Для одного и того же файла данных файл AOF больше файла RDB.
  • Низкая эффективность

Резюме: Сравните два вида стойкости

  • Сохраняемость моментальных снимков заключается в сжатии данных в памяти и хранении их непосредственно на жестком диске. Когда сервер запущен, его можно напрямую скопировать в память и использовать.
  • Постоянство заключается в том, чтобы хранить наши инструкции по эксплуатации в файлах, когда сервер запущен, эти инструкции будут выполняться и записываться в нашу память. Пишите медленнее, чем копируйте!!
  • ИЗ может сохраняться один раз в секунду; сохраняемость моментального снимка соответствует изменениям во времени и ключе.

1.9 Режим ведущего-ведомого устройства Redis (режим анализа чтения-записи)

Redis позволяет нескольким подчиненным (вспомогательным) серверам иметь одну и ту же копию базы данных, что и главные (главные) серверы, в режиме ведущий-ведомый. Подчиненные серверы могут только читать, а не писать.

1. Принцип работы репликации Redis:

  • Ведомое устройство устанавливает соединение с ведущим устройством и отправляет команды синхронизации синхронизации.
  • Мастер запускает фоновый процесс, сохраняет моментальные снимки базы данных в файлы, а главные главные процессы начинают собирать новые команды записи и кэшировать их.
  • После сохранения фона файл отправляется в подчиненное устройство.
  • Ведомое устройство сохраняет этот файл на диск.

Интерпретация принципа: После запуска ведомого устройства и подключения к ведущему он будет активно отправлять команду СИНХРОНИЗАЦИИ. После этого Мастер запустит фоновый процесс инвентаризации и соберет все полученные команды для изменения набора данных. После выполнения фонового процесса Ведущий передаст весь файл базы данных подчиненному для завершения полной синхронизации. Подчиненный сервер получает данные файла базы данных и загружает их в память. После этого Ведущий продолжает передавать все собранные команды модификации и новые команды модификации Подчиненным по очереди. Ведомое устройство выполнит эти команды изменения данных на этот раз для достижения окончательной синхронизации данных.

Если связь между Ведущим и ведомым устройством отключена, ведомое устройство может автоматически повторно подключить ведущего, но как только соединение будет выполнено успешно, автоматически будет выполнена полная синхронизация.

Вывод:

  • Когда подчиненный сервер подключается к главному серверу, наш главный сервер отправляет данные на подчиненный сервер. Эти данные являются двоичными. Когда подчиненный сервер подключается к подчиненному серверу в первый раз, он копируется полностью.
  • После этого главный сервер отправит любые изменения данных на подчиненный сервер. Теперь все данные изменяются, что называется инкрементным копированием.
  • До тех пор, пока ведущий и ведомый устройства будут отключены и снова подключены, будет достигнута полная копия.

2. Характеристики репликации Redis:

  • 1. Один и тот же Ведущий может синхронизировать несколько ведомых устройств.
  • 2. Несколько подчиненных устройств могут подключаться к одному и тому же ведущему устройству, но также и к другим подчиненным устройствам (при перезапуске ведущего устройства подключенные подчиненные устройства становятся главными).
  • 3. Подчиненный также может принимать запросы на подключение и синхронизацию других подчиненных устройств, что может эффективно распределять давление синхронизации ведущего устройства. Таким образом, мы можем рассматривать архитектуру репликации Redis как графовую структуру.
  • 4. Главный сервер обслуживает подчиненные устройства неблокирующим образом. Таким образом, во время синхронизации ведущего и ведомого устройства клиент все еще может отправлять запросы на запросы или изменения.
  • 5. Подчиненный сервер также завершает синхронизацию данных неблокирующим способом. Во время синхронизации, если клиент отправляет запрос, Redis возвращает данные перед синхронизацией.
  • 6. Чтобы загрузить рабочее давление Ведущего устройства только для чтения, ведомый сервер может предоставить клиенту службу работы только для чтения, а служба записи все равно должна быть завершена Ведущим устройством. Тем не менее, масштабируемость системы была значительно улучшена.
  • 7. Мастер может передать операцию сохранения данных подчиненным устройствам, что позволяет избежать необходимости в независимых процессах в Мастере для завершения операции.

3. Как настроить

  • По крайней мере, два (или более) сервера
  • Главный сервер, номер порта: 6379; Настроен файл PID; также настроен каталог данных.
  • Подчиненный сервер, номер порта: 6380; Файл PID не может быть с основной службой; каталог данных не может быть с основным сервером.
  • То есть скопируйте файл конфигурации основного сервера, чтобы изменить имя файла и соответствующие параметры конфигурации с подчиненного сервера. (slave.conf и redis.conf главного сервера имеют каталог с номером порта 6380, dir/sdata, только в приложении нет. Запустите новый сервер снова, проверьте, успешен ли запуск, подключите IP-адрес и номер порта slaveod 127.0.0.1 6379 основного сервера, подключите мастер-аутентификацию aklman основного сервера, прекратите перезапуск ведомого сервера, проверьте)

Краткое описание: В конфигурации Redis master-slave ведомый сервер является устройством, доступным только для чтения. Не удается выполнить операцию записи.

Часть 2 Общие типы данных, поддерживаемые Redis

2.1 Строка

Установите значение: установите значение ключа

set name aklman

Получить значение: получить ключ

get name

Установите несколько значений одновременно: значение Mset key1 значение key2 значение

Получите несколько значений одновременно: mget key1 key2

Значение удаления: клавиша del

Самовращающийся 1 (значение должно быть числом): клавиша включения

Самостоятельно увеличивающееся заданное значение: ключ incrby

Максимальный диапазон, с которым может работать hincrby: подписано 2 ^ 64; и максимальное описание диапазона для изменения Memcache без знака 2 ^ 64

Если Redis продолжает расти за пределами максимального диапазона формирования, будут сообщаться об ошибках; если Memcache продолжает увеличиваться до нуля при максимальном значении, он будет продолжать увеличиваться. То же самое верно и для самоограничения, за исключением того, что увеличение установлено на отрицательное число. Memcache продолжает уменьшаться вниз при минимальном значении, которое по-прежнему является минимальным значением.

Число, установленное Redis, и увеличенное число могут быть отрицательными, и Memcache не может использовать отрицательные числа. Увеличение или уменьшение – это то же самое, что и выше.

2.2 Хэш

Форма: ключ => массив (поле 1 = > значение 1, поле 2 = > значение 2, поле 3 = > значение 2); значение 1 может быть повторено, поле не может быть повторено.

Значение настройки: значение ключевого поля hset

hset user name aklman

Получите значение: ключевое поле hget

hget user name

Установите несколько значений: ключевое поле hmset 1 значение 1 поле 2 значение 2

hmset student name aklman age 18 sex 1

Получите несколько значений (порядок значений полей может быть изменен): поле ключа hmget 1 поле 2 поле 3

Значения полей, заданные в хэш-таблице, уникальны, и если бы они были там раньше, они были бы перезаписаны!!

Получите поле и значение целевого хэша (получите все поля и соответствующие им значения): ключ hgetall

Получите поле: ключи ключ в хэш – таблице

Получите количество значений в хэш-таблице: ключ HLEN

Удалите значение поля в хэш-таблице: поле ключа HDEL 1 поле 2

Будьте осторожны: Операция в хэш-таблице должна выполняться методом хэширования, а операции со строками должны выполняться строками, а не смешивать их.

Список 2.3

Списки: Двунаправленные списки, очереди, стеки; значения повторяются.

  • Двусторонний список: одна сторона может входить и выходить, другая сторона может входить и выходить.
  • Очередь: Только одна сторона может войти, другая сторона может выскочить, первая вошла, первая вышла
  • Стек: Только один порт, первый вход, первый выход

1. Двунаправленный список:

Добавьте содержимое в список с левой (правой) стороны: lpush (rpush) Имя списка значение 1 значение 2 значение 3

Просмотр содержимого списка: Имя списка lrange начало (0 или другое) конец (- 1 для последнего)

Всплывающее значение с левой (правой) стороны: Имя списка lpop (rpop)

Просмотр длины списка: Имя списка len

2. очередь:

Добавьте содержимое в список слева: нажмите Имя списка значение 1 значение 2 значение 3

Всплывающее значение слева: Имя списка lpop

Добавьте содержимое в список справа: нажмите Имя списка значение 1 значение 2 значение 3

Всплывающее значение справа: Имя списка rpop

3. стопка

Добавьте содержимое в список слева: нажмите Имя списка значение 1 значение 2 значение 3

Всплывающее значение слева: Имя списка lpop

Добавьте содержимое в список справа: нажмите Имя списка значение 1 значение 2 значение 3

Всплывающее значение справа: Имя списка rpop

2.4 Комплекта

Добавить данные: Заданное значение Sadd 1 значение 2 значение 3

Если вы хотите добавить данные после добавления данных, вы можете добавить заданное значение 4, значение 5, значение 3 и обнаружить, что прямая вставка выполняется успешно в двух случаях, поскольку значения значений не могут повторяться в коллекции.

Просмотр данных: набор участников

Случайное всплывающее окно: набор магазинов

Почему данные в коллекции могут появляться случайным образом? Причина в том, что данные в наборе неупорядочены, то есть неупорядоченный набор обладает этой функцией.

Случайное всплывающее несколько значений: набор spop n (n не может превышать количество элементов набора)

Длина просмотра: набор шарфов

Пересечение: агломерационная сетка setB

Пересечение-их общая часть, как и математика.

Консолидация: Объединение setA setB

Повторяющееся содержимое отображается только один раз.

Набор различий: жесткий набор setA setB

Набор различий в redis показывает только содержимое первого набора.

2.5 Заказанные Наборы

Добавить данные: добавить ключ SortedSet Номер 1 значение1 номер 2 Значение2

Длина просмотра: z-карта, Отсортированная По Набору Ключей

Просмотр значений в упорядоченном наборе: диапазон z, начало и конец набора ключей (-1 для последней позиции)

Число, показывающее упорядоченную сортировку набора: начальная и конечная позиции ключа zrange SortedSet (-1 для последней позиции) с оценками

Измените номер сортировки: ключ zincrby SortedSet n значение 1

  • Измените номер сортировки значения 1 на n

Отображение в обратном порядке: Отсортированное по zrevrange Заданное начальное и конечное положение клавиши (-1 для последней позиции)

Отображение пронумерованного обратного порядка: zrevrange Сортированный Набор начальной и конечной позиции ключа (-1 для последней позиции) с оценками

Будьте осторожны:

  • При вставке значений в одну и ту же строку данные перед записью перезаписываются То есть число покрывает значение так же, как значение покрывает число.
  • Неупорядоченные наборы и упорядоченные наборы: Значения уникальны и не повторяемы. Когда записанное значение уже будет там, оно будет непосредственно перезаписано!!

2.6 Ключ

1. Проверьте, сколько ключей находится в Redis: ключи*

  • Перечисленные один за другим звездочки являются подстановочными знаками, совпадающими слева и справа, слева в списке совпадений указан ключ в начале указанного символа, справа в списке совпадений указан ключ в конце указанного символа.
  • Подстановочные знаки очень важны. При использовании Redis должно быть два очень больших объема данных. В это время нам нужно проверить данные. Существует много типов тестовых данных, которые можно использовать только один раз. Если эти данные хранятся в Redis, нам необходимо использовать эту операцию для удаления ненужных данных. Несколько раз тест воспроизводит удаление данных перед тестированием.

2. Несколько Общих Команд:

// Run commands directly from the command line
redis-cli keys '*'
// Delete content on the command line, specifying the deleted key
redis-cli del 'test'
// Combining two commands to search and delete keys will cause errors, because keys, after execution, give the document to del at one time. At this time, del thinks that the value in your document is a value, and if you want to delete it, you will report errors.
redis-cli keys '*' | redis-cli del
// The solution is as follows. The meaning of xargs is: when the result of the left command passes through the pipeline, as long as there is an xargs parameter, it tells the left command that you execute a result and give me a result. When the left side executes, execute a result and immediately pass it to the right side to execute.
redis-cli keys '*t' |xargs redis-cli del

Подумайте над следующими вопросами:

1. Когда содержимое запроса слева от нас составляет 10 г, сколько памяти требуется для передачи справа?

  • Он занимает 20 гб памяти, потому что используется параметр xargs, то есть при выполнении структуры он передается вправо. Структура может занимать 10 тыс., а проход вправо составляет 10 тыс., что в сумме составляет 20 тыс.

    2. Используйте в сочетании с поиском

  • Когда требуется запросить (обработать) большой объем данных в левой части данных, необходимо использовать команду xargs.
find /toot/ -name '*php' | xargs ls -l

3. Определите, существует ли ключ: существует ключ

  • Использование в сервере Redis

4. Установите время истечения срока действия: истекает ключ 20

  • Например, истекает срок действия sex 10, который истекает по истечении времени, устаревает, получает секс и не получает никакой ценности.

5. Проверьте время истечения срока действия: ключ TTL

6. Просмотр типа ключа: введите ключ

7. Библиотека выбора: выберите 2

  • По умолчанию существует 16 библиотек. Индекс начинается с 0 и заканчивается на 15. Библиотека по умолчанию равна 0.
  • Данные каждой базы данных независимы друг от друга.

8. Чтобы пропинговать наш клиент redis: Пропингуйте привет

  • Вернитесь в hello, то есть, что отправить на сервер, если сервер находится в сети, он ответит вам, что. Если это не в Сети, вы не сможете ответить. Просто отправьте Пинг обратно в Понг

9. Очистите текущую библиотеку: flushdb

  • Эта команда обычно не используется в случае удаления чужих данных.

10. Очистите библиотеки индексов: flushall

11. Спецификация именования ключей Redis

  • При настройке клавиш используйте: в качестве разделителя.
  • В проекте для каждого проекта должен быть установлен отдельный префикс, чтобы различать различные проекты. Например, K12 2009,hedu 2009
  • Redis имеет функцию проверки пароля. Он может открыть проверку пароля на стороне сервера. При входе в систему вам необходимо ввести пароль, auth: пароль. Серверы Memcache не имеют аутентификации по паролю. Пароль задан в файле redis.conf и воспроизведите перезапуск redis (ps-ef | grep redis).
  • Убить номер PID: По умолчанию используется параметр – 15. Именно тогда мы уведомляем наш основной процесс о закрытии системы. Основной процесс восстанавливает свои ресурсы и закрывает их. – Параметр 9: Мы принудительно завершаем работу программы.

Третья часть обобщает и расширяет

3.1 Краткое изложение других заказов Redis

1.СУЩЕСТВУЕТ и ИМЕЕТ ДЕЛО

  • Ключ EXISTS определяет, существует ключ или нет; existence возвращает 1; в противном случае возвращает 0; Клавиша DEL удаляет ключ или серию ключей;
  • DEL ключ1 ключ2 Ключ3 ключ4. Успешное возвращение 1, неудачное возвращение 0 (значение ключа не существует).

2.ТИП и КЛЮЧИ

  • ТИП ключа: Возвращает тип данных ключевого элемента (нет: нет, строка: символ, список, набор, zset, хэш), и ключ не возвращается пустым.
  • Ключ-шаблон КЛЮЧЕЙ: Возвращает список совпадающих ключей (КЛЮЧИ foo*: Найдите ключи в начале foo)

3.СЛУЧАЙНЫЙ КЛЮЧ и ОЧИСТИТЬ

  • СЛУЧАЙНЫЙ КЛЮЧ: произвольный доступ к существующему ключу и возврат пустой строки, если текущая база данных пуста.
  • ОЧИСТИТЬ: Очистите интерфейс.

4.ПЕРЕИМЕНОВАТЬ и ПЕРЕИМЕНОВАТЬ X

  • ПЕРЕИМЕНОВАТЬ старое имя новое имя: Измените имя ключа, и новый ключ будет перезаписан, если он существует.
  • ПЕРЕИМЕНОВАТЬ старое имя новое имя: Измените имя ключа, и если новое имя существует, обновление завершится неудачно;

ПЕРЕИМЕНОВАТЬ старое имя новое имя: Измените имя ключа, и если новое имя существует, обновление завершится неудачно;

  • РАЗМЕР БД: Общее количество ключей, возвращенных в текущую базу данных

6.ПОЛУЧЕНИЕ КОНФИГУРАЦИИ и НАБОР КОНФИГУРАЦИИ

  • CONFIG GET: Используется для считывания параметров конфигурации для запуска сервера Redis.
  • НАБОР КОНФИГУРАЦИЙ: Используется для изменения параметров конфигурации для запуска серверов Redis.
  • АУТЕНТИФИКАЦИЯ: Пароль для Аутентификации

7.СБРОСЬТЕ НАСТРОЙКИ.

  • CONFIG RESETSTAT: отчет о статистике сброса данных, обычно с возвращаемым значением “OK”.”

3.2 Операции PHP Повторяют основные операции

PHP, работающий с Redis: Подключитесь к серверу redis с помощью нашего PHP-клиента (расширение redis)

connect('127.0.0.1',6379);
    
    $redis->auth('aklman');
    $redis->set('DomainServer','Aklman.com');

Вы можете увидеть эту информацию с сервера красным цветом.

3.3 Интерпретация информации ИНФОРМАЦИОННОГО запроса

ИНФОРМАЦИЯ [раздел]: Запрос информации, связанной с Redis. Команда INFO может запрашивать почти всю информацию Redis, и ее параметры команд следующие:

  • Сервер: Регулярная информация сервера Redis
  • Клиенты: Варианты подключения для клиента
  • Память: Информация, связанная с занятостью хранилища
  • Сохраняемость: RDB и информация, связанная с AOF
  • Статистика: Общая статистика
  • Репликация: Информация о запросе ведущего/ведомого устройства
  • ПРОЦЕССОР: Статистика информации о загрузке процессора
  • Кластер: Информация о кластере Redis
  • Пространство ключей: информационная статистика базы данных
  • Все: Возвращает всю информацию
  • По умолчанию: Возвращает общую информацию о настройках

[1] Сохраняемость относится к хранению на диске, которое все еще может существовать после перезагрузки сервера. Данные, хранящиеся в памяти, не существуют после перезапуска сервера.

Редис фактический бой Заметки о чтении Оллмана