redis读取mysql-redis从mysql数据库查询数据(4-18-29)

更新时间:2024-07-11 分类:MySQL 浏览量:2

MySQL本文目录一览:

  • 1、怎样把读出来的数据存到redis数据库
  • 2、mysql同步数据到redis-增量同步
  • 3、canal+Kafka实现mysql与redis数据同步

怎样把读出来的数据存到redis数据库

1、新建一个文本文件,包含redis命令 SET Key0 Value0 SET Key1 Value1 ...SET KeyN ValueN 如果有了原始数据,其实构造这个文件并不难,譬如shell,python都可以 将这些命令转化成Redis Protocol。

2、读取数据的时候先从redis里面查,若没有,再去数据库查,同时写到redis里面,并且要设置失效时间。

3、大致为两种措施:脚本同步:自己写脚本将数据库数据写入到redis/memcached。

mysql同步数据到redis-增量同步

使用阿里开源的 canal 作为数据同步工具。总的来说有两种方案 本文把两种方式都实现下。如果公司有统一的平台接入binlog的话,canal+mq应该是比较好的解耦的方式。

二者数据同步的关键在于mysql数据库中主键,方案是在redis启动时区mysql读取所有表键值存入redis中,往redis写数据是,对redis主键自增并进行读取,若mysql更新失败,则需要及时清除缓存及同步redis主键。

redis是一种内存性的数据存储服务,所以它的速度要比mysql快。2,redis只支持String,hashmap,set,sortedset等基本数据类型,但是不支持联合查询,所以它适合做缓存。

而Redis的主从同步和数据快照有关,Redis定期将内存中数据作快照保存在文件中,mater只要将文件发送给slave更新就可以了。

canal+Kafka实现mysql与redis数据同步

答案是肯定的,下面通过canal结合Kafka来实现mysql与redis之间的数据同步。架构设计 通过上述结构设计图可以很清晰的知道用到的组件:MySQL、Canal、Kafka、ZooKeeper、Redis。

使用阿里开源的 canal 作为数据同步工具。总的来说有两种方案 本文把两种方式都实现下。如果公司有统一的平台接入binlog的话,canal+mq应该是比较好的解耦的方式。

这里还可以基于binlog使用mysql_udf_redis,将数据库中的数据同步到Redis。

而Redis的主从同步和数据快照有关,Redis定期将内存中数据作快照保存在文件中,mater只要将文件发送给slave更新就可以了。