如何将数据从mysql移动到Redis [英] how to move data from mysql to redis

查看:288
本文介绍了如何将数据从mysql移动到Redis的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I attempt to put some frequently used data into redis server from mysql . so redis just as a read server , i need to move data from mysql to redis. can anybody recommend a good approache ? i have read some topics and have some thinking share

1,通过mysql触发器记录正确的数据,通过定时应用将数据移动到redis 2,读取mysql日志,进行分析,然后放入redis中.

1、through mysql trigger to record proper data , through timing app move data to redis 2、read mysql logs ,analysis it ,then put it to redis.

顺便说一句:在我的应用程序中,存储在Redis中的数据不需要实时,稍有延迟就可以了.

BTW: in my application data stored in redis don't need real-time, a little latency is ok.

推荐答案

我认为mysql udf插件( https://github.com/Ideonella-sakaiensis/lib_mysqludf_redis )可以帮助您将数据从Mysql同步到Redis.

I think the mysql udf plugin (https://github.com/Ideonella-sakaiensis/lib_mysqludf_redis) can help you to synchronize data from Mysql to Redis.

示例:

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

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

set up a trigger for the table and call redis command by 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 获得价值

then you can get value by 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>
}

这篇关于如何将数据从mysql移动到Redis的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆