моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1.Производительность
Redis: использует только одно ядро. В среднем Redis имеет более высокую производительность, чем Memcached, при хранении небольших данных на каждом ядре.
Memcached: вы можете использовать несколько ядер, а при объеме данных более 100 тыс. производительность Memcached выше, чем у Redis.
2. Эффективность использования памяти
MemCached: Memcached использует простое хранилище значений ключей и обеспечивает более высокую эффективность использования памяти.
Redis: если для хранения значений ключей используется хеш-структура, ее использование памяти будет выше, чем у Memcached, из-за комбинированного сжатия.
3. Объем памяти и размер данных
MemCached: максимальный объем памяти можно изменить с помощью алгоритма LRU. Размер одного значения ключа в Memcached ограничен, а значение поддерживает максимум 1 МБ.
Redis: добавляет функции виртуальной машины и преодолевает ограничения физической памяти. Redis поддерживает максимальный размер одного значения ключа 512 МБ.
4. Поддержка структуры данных
MemCached: единая структура данных, используемая только для кэширования данных.
Redis: поддерживает более широкие типы данных. Redis не только поддерживает простые данные типа k/v, но также обеспечивает хранение таких структур данных, как список, набор, zset и хэш.
Богатые операции с данными могут выполняться непосредственно на стороне сервера, что позволяет сократить время ввода-вывода в сети и объем данных.
5.Надежность
Memcached: это просто кеш-память с низкими требованиями к надежности. MemCached не поддерживает сохранение данных. Данные исчезают после отключения питания или перезапуска, но стабильность гарантируется.
Redis: предъявляет высокие требования к надежности, поддерживает сохранение и восстановление данных, допускает наличие единых точек отказа, а также влияет на некоторую производительность. Поддерживает резервное копирование данных, то есть резервное копирование данных в режиме «главный-подчиненный». Redis поддерживает сохранение данных и может сохранять данные в памяти на диск и снова загружать их для использования при перезапуске.
6. Сценарии применения
Memcached: снижает нагрузку на базу данных и повышает производительность динамического кэша, подходит для сценариев большего чтения, меньшего количества записи и больших объемов данных;
Redis: подходит для систем, которым требуется высокая эффективность чтения и записи, сложная обработка данных и высокие требования к безопасности.
1. установка Redis
Сначала отключите брандмауэр
- 先把防火墙关掉
- systemctl stop firewalld
- set setenforce 0
-
- [root@localhost ~]# yum -y install gcc* zlib-devel
- 解压 redis包
- [root@localhost ~]# tar xvzf redis-4.0.9.tar.gz
- [root@localhost ~]# cd redis-4.0.9/
-
- make
- 2:查看进程
- [root@localhost utils]# netstat -anpt | grep redis
-
- 3:redis服务控制
- [root@localhost ~]#/etc/init.d/redis_6379 stop
- [root@localhost ~]#/etc/init.d/redis_6379 start
- [root@localhost ~]#/etc/init.d/redis_6379 restart
- [root@localhost ~]#/etc/init.d/redis_6379 status
- 4.配置参数的修改
- [root@localhost ~]#vim /etc/redis/6379.conf
- bind 127.0.0.1 192.168.10.101 //监听的主机地址
- port 6379 //端口
- daemonize yes //启用守护进程
- pidfile /var/run/redis_6379.pid //指定 PID 文件
- loglevel notice //日志级别
- logfile /var/log/redis_6379.log //指定日志文件
-
- [root@localhost~]#/etc/init.d/redis_6379 restart
- [root@localhost utils]# netstat -anpt | grep redis
-
- 二:Redis 命令工具
- redis-server:用于启动 Redis 的工具;
- redis-benchmark:用于检测 Redis 在本机的运行效率;
- redis-check-aof:修复 AOF 持久化文件;
- redis-check-rdb:修复 RDB 持久化文件;
- redis-cli:Redis 命令行工具。
установить создать
получить просмотр
ключи * посмотреть все
переименовать (перезаписать)
renamenx (проверьте, есть ли такое же имя, а затем решите, следует ли выполнять команду переименования)
del (команда может удалить указанный ключ текущей базы данных)
существует (команда может определить, существует ли значение ключа)
тип (используйте команду type, чтобы получить тип значения, соответствующий ключу)
выбрать (переключить базу данных)
переместить (переместить данные)
flashdb (очистить текущие данные базы данных)
flashall (очистить все данные базы данных)
- -p:指定服务器端口;
- -s:指定服务器 socket;
- -c:指定并发连接数;
- -n:指定请求数;
- -d:以字节的形式指定 SET/GET 值的数据大小;
- -k:1=keep alive 0=reconnect;
- -r:SET/GET/INCR 使用随机 key, SADD 使用随机值;
- -P:通过管道传输<numreq>请求;
- -q:强制退出 redis。仅显示 query/sec 值;
- --csv:以 CSV 格式输出;
- -l:生成循环,永久执行测试;
- -t:仅运行以逗号分隔的测试命令列表;
- -I:Idle 模式。仅打开 N 个 idle 连接并等待。
Редис Все данные хранятся в памяти, а затем время от времени асинхронно сохраняются на диск.(Это называется“Полупостоянный режим”); Вы также можете записать каждое изменение данных в файл. добавить только файл(aof)в(Это называется“Полный режим сохранения”)。
потому что Редис Все данные хранятся в памяти. Если постоянство не настроено,Редис После перезагрузки все данные теряются.Поэтому необходимо включитьРедис Функция сохранения сохраняет данные на диск. Редис После перезагрузки данные можно восстановить с диска.Редис Для обеспечения устойчивости предусмотрены два метода: один РБД(RedisБаза Данных) Настойчивость (принцип состоит в том, чтобы РидыВремя ведения журнала базы данных в памяти свалка на диск РБД настойчивость), другой АОФ(добавить только файл)Настойчивость (принцип состоит в том, чтобы Риды Журнал работы записывается в файл в виде приложения).
Метод по умолчанию
Сохранение RDB — это процесс создания моментального снимка текущих данных процесса и сохранения его на жестком диске. Процесс запуска сохранения RDB делится на запуск вручную и автоматический запуск.
Механизм триггера: Ручной триггер соответствует командам save и bgsave соответственно.
Команда save: блокирует текущий сервер Redis до завершения процесса RDB. Для экземпляров с большим объемом памяти это приведет к блокировке по времени. Не рекомендуется использовать в онлайн-среде.
Команда bgsave: процесс Redis выполняет операцию разветвления (функцию, используемую для создания процесса) для создания дочернего процесса. Процесс сохранения RDB отвечает за дочерний процесс и автоматически завершается после завершения. Блокировка происходит только во время фазы форка.
Преимущества РБД:
RDB — это компактный сжатый двоичный файл, представляющий собой снимок данных Redis на определенный момент времени. Он очень подходит для резервного копирования, полного копирования и других сценариев. Например, выполняйте резервное копирование bgsave каждые 6 часов и копируйте файл RDB на удаленный компьютер или в файловую систему для аварийного восстановления.
Redis загружает RDB и восстанавливает данные намного быстрее, чем метод AOF.
Недостатки РБД:
Данные в режиме RDB не могут сохраняться в режиме реального времени или сохраняться на втором уровне. Потому что каждый раз, когда запускается bgsave, выполняется операция ветвления для создания дочернего процесса, а это тяжелая операция, и стоимость частого выполнения слишком высока.
Файлы RDB сохраняются в определенном двоичном формате. В процессе развития версий Redis существует несколько форматов версий RDB. Возникла проблема: старая версия службы Redis несовместима с новой версией формата RDB.
2. Что такое АОФ?
Постоянство AOF (только добавление файла): записывайте каждую команду записи в независимый журнал, а затем повторно выполните команду в файле AOF, чтобы восстановить данные при перезапуске. Основная функция AOF — решение проблемы сохранения данных в реальном времени. Сейчас это основное направление сохранения Redis.
Пожертвуйте некоторой производительностью в обмен на более высокую согласованность кэша (АОФ),
Если операции записи выполняются часто, не включайте резервное копирование в обмен на повышение производительности и ждите операций вручную. сохранять когда, сделай резервную копию еще раз(РБД)
Примечание:
Если после перезапуска Redies необходимо загрузить постоянный файл, будут выбраны файлы AOF.
Если сначала включен RDB, а затем включен AOF и сначала сохраняется RDB, содержимое файла RDB будет перезаписано AOF.
[root@localhost ~]# vim /etc/redis/6379.conf
Открыть 6379.conf После файла выполните поиск сохранять, вы можете увидеть информацию о конфигурации, как показано ниже.
существовать Редис В файле конфигурации есть три метода синхронизации:
всегда: синхронное сохранение, каждый раз при изменении данных они немедленно записываются на диск
Everysec: рекомендуется по умолчанию, асинхронная запись каждую секунду (значение по умолчанию).
нет: нет синхронизации, решение о том, как синхронизироваться, остается на усмотрение операционной системы.
Игнорировать последнюю потенциально проблемную инструкцию.
[root@localhost ~]#/etc/init.d/redis_6379 перезапуск
чтобы решить АОФ Если размер файла продолжает увеличиваться, пользователи могут сообщить об этом в Редис отправлять BGREWRITEAOFЗаказ.BGREWRITEAOF Команда будет удалена через АОФ избыточные команды в файле для переопределения (переписать)АОФфайл, сделать АОФ Сохраняйте размер файла как можно меньшим.
127.0.0.1:6379> bgrewriteaof
Фоновое добавление только перезапись файла началась
# Когда журнал BGREWRITEAOF,еслинет-appendfsync-on-rewriteУстановите значение «да», что означает, что новые операции записи не будут синхронизироваться с fsync, а будут лишь временно сохраняться в буфере. , чтобы избежать конфликтов операций ввода-вывода с диска, перед записью дождитесь завершения перезаписи. По умолчанию в Redis нет.
нет-appendfsync-on-rewrite нет
# Когда текущий размер файла AOF в два раза превышает размер файла AOF во время последней перезаписи журнала, выполняется операция BGREWRITEAOF.
авто-аоф-перезапись-процент 100
Примечание:
100ОтноситсяаофКоэффициент роста файла относится к коэффициенту роста текущего файла AOF по сравнению с последней перезаписью.,100в два раза
#Минимальное значение текущего файла AOF для выполнения команды BGREWRITEAOF, чтобы избежать частого использования BGREWRITEAOF из-за небольшого размера файла при первом запуске Reids.
авто-аоф-перезапись-мин-размер 64мб
192.168.9.236:7001> информационная память
Used_memory:1210776 #Размер используемой памяти,в байтах
Used_memory_human:1.15M # Отображение с единицей измерения,в М
Used_memory_rss:7802880 # Сколько памяти занимает Redis с точки зрения операционной системы?
Used_memory_rss_human:7.44M # Отображение с блоком
maxmemory:1073741824 # Максимальный размер памяти
maxmemory_human:1.00G # Дисплей с устройством
maxmemory-политика: Стратегия переработки
Ø летучий-lru: Это позволяет Редис Выберите наименее использованный из всего набора данных. ключ Удалить
Ø volatile-ttl:в соответствии сключсрок годности для ликвидации
Ø изменчиво-случайный: Случайный выбор данных для исключения из коллекции данных с установленным сроком годности;
Ø allkeys-lru:использовать ЛРУ Алгоритмы исключают данные из всех наборов данных;
Ø всеключи-случайно: Случайный выбор данных для исключения из сбора данных;
Ø нетвыселение: отключить удаление данных (значение по умолчанию).
Примечание:
Установите срок действия ключа
истекает v1 10
v1 имеет срок действия 10 секунд.
Примечание:
когда Редис Необходимо восстановить один из-за нехватки памяти ключ час,Редис Первое, что необходимо учитывать, — это не перерабатывать самые старые данные, а те, которые использовались реже всего. ключ или срок действия истекает ключ Выберите один случайным образом из ключ, удалено из набора данных
Найдите ключевое слово requirepass, за которым следует пароль. По умолчанию оно закомментировано, то есть пароль по умолчанию не требуется, как показано ниже:
Откройте комментарий, установите его в качестве своего пароля и перезапустите.
Используйте redis-cli для подключения к Redis и выполните следующую команду
config set requirepass 123456
После завершения выполнения перезагрузка не требуется. Вам нужно будет ввести пароль при выходе из клиента и повторном входе.
[root@localhost bin]# ./redis-cli -a 123456
[root@localhost bin]# ./redis-cli127.0.0.1:6379> auth 123456
[root@localhost bin]# ./redis-cli -a 123456 shutdown
1) Пароль, установленный путем изменения файла конфигурации, вступит в силу навсегда; пароль, установленный с помощью этой команды, вступит в силу временно и станет недействительным после перезапуска.
2) Для изменения пароля, установленного в файле конфигурации, требуется перезагрузка, чтобы вступить в силу после выхода из системы и повторного входа в систему; после перезапуска он станет недействительным;
3) Приоритет команды выше приоритета файла конфигурации