Как переместить данные из MySQL в Redis

Я пытаюсь поместить некоторые часто используемые данные на сервер Redis из MySQL. так что redis так же, как сервер чтения, мне нужно переместить данные из mysql в redis. Кто-нибудь может порекомендовать хороший подход? Я прочитал некоторые темы и немного размышляю

1 trigger через триггер mysql для записи правильных данных, с помощью приложения для измерения времени переместить данные в redis 2、 прочитать логи mysql, проанализировать их, а затем поместить в redis

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

2 ответа

Я думаю, что плагин mysql udf ( https://github.com/Ideonella-sakaiensis/lib_mysqludf_redis) может помочь вам синхронизировать данные из Mysql в Redis.

пример:

DELIMITER $$
CREATE TABLE `my_table` (
  id    varchar(16) PRIMARY KEY,
  text  varchar(32)
);

установить триггер для таблицы и вызвать команду redis от mysql udf

DELIMITER $$
CREATE TRIGGER `after_insert_my_table`
AFTER INSERT ON `my_table` FOR EACH ROW
BEGIN
  DO `redis`('redis://@127.0.0.1/0/', 'SET', new.`id`, new.`text`);
END $$
DELIMITER ;

тогда вы можете получить значение по my_table id

mysql>  SELECT `redis`('redis://@127.0.0.1/0/', 'GET', <my_table id>)\G
*************************** 1. row ***************************
`redis`('redis://@127.0.0.1/0/', 'GET', <my_table id>): {
        "out":  <my_table text>
}

Используйте режим массовой вставки Redis-Cli.

Проверьте это - http://dcw.ca/blog/2013/01/02/mysql-to-redis-in-one-step/

Другие вопросы по тегам