如何将数据从mysql移动到redis

时间:2012-05-21 02:27:31

标签: mysql redis

我尝试将一些常用数据从mysql中放入redis服务器。所以redis就像一个读取服务器,我需要将数据从mysql移动到redis。任何人都可以推荐一个好的方法?我已经阅读了一些主题,并有一些思考分享

1,通过mysql触发器记录正确的数据,通过计时app将数据移动到redis 2,读取mysql日志,分析它,然后把它放到redis上。

BTW:在我的应用程序中,存储在redis中的数据不需要实时,有点延迟是可以的。

2 个答案:

答案 0 :(得分:0)

使用redis-cli的质量插入模式。

检查一下 - http://dcw.ca/blog/2013/01/02/mysql-to-redis-in-one-step/

答案 1 :(得分:0)

我认为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)
);

设置表的触发器并通过mysql udf调用redis命令

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>
}