缓存数据库+关系型数据库的实现【Redis+Mysql】

mysql:数据放在磁盘

关系型数据库,主要用于存放持久化数据,

redis:数据放在内存

是缓存数据库

AOF:增量更新 RDB:覆盖

是NOSQL,非关系型数据库

redis和mysql的区别总结

(1)类型上

从类型上来说,mysql是关系型数据库,redis是缓存数据库

(2)作用上

mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢

redis用于存储使用较为频繁的数据到缓存中,读取速度快

为什么要作缓存

当网站的处理和访问量非常大的时候,我们的数据库的压力就变大了,数据库的连接池,数据库同时处理数据的能力就会受到很大的挑战,一旦数据库承受了其最大承受能力,网站的数据处理效率就会大打折扣。此时就要使用高并发处理、负载均衡和分布式数据库,而这些技术既花费人力,又花费资金。

redis作为缓存

将redis作为缓存

Redis其实就是说把表中经常访问的记录放在了Redis中,然后用户查询时先去查询Redis再去查询MySQL,确实实现了读写分离,也就是Redis只做读操作。由于缓存在内存中,所以查询会很快。

直接用Mysql会出现的问题:

内存碎片等问题

方案一:

程序同时写Redis和MySQL
读Redis

img

方案二:

程序写MySQL, 使用Gearman调用MySQL的UDF,完成对Redis的写
读Redis

img

方案三:

程序写MySQL, 解析binlog,数据放入队列写Redis
读Redis
参考 《利用Canal完成Mysql数据同步Redis

img

方案四:

程序写Redis,并将写放入MQ写MySQL
读Redis

img

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值