Что такое Redis, и как мы применяем его в автоматизации |
26.03.2025 00:00 |
Что такое Redis? Это сервер NoSQL-БД. Он быстрый, с открытым исходным кодом, он хранит данные в памяти для использования в качестве БД, у него есть кэш, брокер сообщений и очередь. Redis расшифровывается, как Remote Dictionary Server. Проект зародился, когда Сальваторе Санфилиппо, исходно разрабатывавший Redis, пытался улучшить масштабируемость своего итальянского стартапа. Сейчас Redis отвечает менее чем за миллисекунду, что позволяет получать миллионы запросов в секунду для приложений реального времени – игр, рекламы, финансов, здравоохранения и интернета вещей. Redis – популярный вариант для кэширования, управления сессиями, игр, рейтинговых таблиц, аналитики в режиме реального времени, геопространственных технологий, попутных поездок, чатов, стриминга и pub/sub (https://aws.amazon.com/redis/). Как работает Redis? Все данные Redis хранятся в памяти, в отличие от баз данных, хранящих данные на диске или SSD. Устранив нужду в доступе к дискам, хранилища в памяти вроде Redis не нуждаются во времени на поиск и могут найти данные за микросекунды. У Redis гибкие структуры данных, высокая доступность, он поддерживает геопространственные задачи, скрипты Lua, транзакции, кластеры, обеспечивает сохранность дисков – все это упрощает создание масштабируемых интернет-приложений реального времени. Какие типы данных поддерживает Redis?
Как и почему мы используем Redis в автоматизации?Для хранения данных, получения их от пользователей и передачи им в нашем проекте применяется и MySQL, и Redis. Наш фреймворк автоматизации столкнулся с новыми технологиями и новым подходом. К примеру, в некоторых случаях требуется проверить, что возвращенные MySQL данные сравнительно (хотя бы на 90%) близки к данными, возвращенными пользователям от Redis. Как использовать и установить Redis?
npm install redis Пример использованияlet redis = require("redis"), Другой простой пример, проверяющий и задающий данные: public checkAndSetIsUsedInMemory(
Самые полезные для автоматизации команды
client.on(“connect”, function () { client.set(“foo_rand000000000000”, “some fantastic value”, redis.print); client.get(“foo_rand000000000000”, redis.print);}); Дебаг
Для получения отладочного вывода запустите свое приложение node_redis с NODE_DEBUG=redis. В результате вы получите хорошие стектрейсы асинхронных операций, а не бесполезные. Если вам нужны только хорошие стектрейсы, а не весь отладочный вывод, запустите приложение в режиме разработки (NODE_ENV=development). Хорошие стектрейсы активируются только в режимах разработки и отладки, так как сильно ухудшают производительность. Сравнение:Бесполезный стектрейс: ReplyError: ERR wrong number of arguments for 'set' command at parseError (/home/ruben/repos/redis/node_modules/redis-parser/lib/parser.js:158:12) Хороший стектрейс: `ReplyError: ERR wrong number of arguments for 'set' command at new Command (/home/ruben/repos/redis/lib/command.js:9:902) |