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更新就可以了。