mysql redis缓存层_redis实现缓存的两种方式
发布日期:2021-06-24 11:48:22 浏览次数:4 分类:技术文章

本文共 1071 字,大约阅读时间需要 3 分钟。

redis实现缓存的两种方式

发布时间:2020-06-25 19:56:54

来源:亿速云

阅读:202

作者:Leah

本篇文章给大家分享的是有关redis实现缓存的两种方式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

redis实现缓存大致为两种措施:

一、脚本同步:

1、自己写脚本将数据库数据写入到redis/memcached。

2、这就涉及到实时数据变更的问题(mysql row binlog的实时分析),binlog增量订阅Alibaba 的canal ,以及缓存层数据丢失/失效后的数据同步恢复问题。

二、业务层实现:

1、先读取nosql缓存层,没有数据再读取mysql层,并写入数据到nosql。

2、nosql层做好多节点分布式(一致性hash),以及节点失效后替代方案(多层hash寻找相邻替代节点),和数据震荡恢复了。

redis实现数据库缓存的分析:

对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached、File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的NoSQL数据库,就非常适合担任实时数据的容器。

但是往往又有数据可靠性的需求,采用MySQL作为数据存储,不会因为内存问题而引起数据丢失,同时也可以利用关系数据库的特性实现很多功能。所以就会很自然的想到是否可以采用MySQL作为数据存储引擎,Redis则作为Cache。

MySQL到Redis数据复制方案,无论MySQL还是Redis,自身都带有数据同步的机制,比较常用的MySQL的Master/Slave模式,就是由Slave端分析Master的binlog来实现的,这样的数据复制其实还是一个异步过程,只不过当服务器都在同一内网时,异步的延迟几乎可以忽略。

那么理论上也可用同样方式,分析MySQL的binlog文件并将数据插入Redis。

因此这里选择了一种开发成本更加低廉的方式,借用已经比较成熟的MySQL UDF,将MySQL数据首先放入Gearman中,然后通过一个自己编写的PHP Gearman Worker,将数据同步到Redis。比分析binlog的方式增加了不少流程,但是实现成本更低,更容易操作。

以上就是redis实现缓存的两种方式,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

转载地址:https://blog.csdn.net/weixin_32573931/article/details/113593629 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:git 改local branch名字_用Git管理Latex写论文的工作流程
下一篇:mysql 2003错误 10055_MYSQL无法连接---提示10055错误

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月12日 16时45分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【英语学习】【Level 08】U03 My Choice L2 All-time favorite character 2019-04-28
【英语学习】【Level 08】U04 What I love L2 My favorite sport 2019-04-28
【Level 08】U07 Mixed Feelings L2 Let's go shopping 2019-04-28
【Level 08】U07 Mixed Feelings L3 I just want to have fun 2019-04-28
【Level 08】U07 Mixed Feelings L4 Learning by heart 2019-04-28
【Level 08】U07 Mixed Feelings L5 Front page news 2019-04-28
【英语学习】【化学】几个与氮(Nitrogen)有关的化学词汇 (1) 2019-04-28
【英语学习】【化学】几个与氮有关的化学词汇 (2) 2019-04-28
【英语学习】【化学】几个与氮有关的化学词汇 (3) 2019-04-28
【Level 08】U07 Mixed Feelings L6 State of the Nation 2019-04-28
【Level 08】U08 Positive Attitude L1 See the world 2019-04-28
Intel Haswell/Broadwell架构/微架构/流水线 (5)-高速缓存&存储器子系统 2019-04-28
Intel Haswell/Broadwell架构/微架构/流水线 (6)-Unlamination微指令离解过程 2019-04-28
Intel Haswell/Broadwell架构/微架构/流水线 (7)-Haswell-E微架构 2019-04-28
Intel Haswell/Broadwell架构/微架构/流水线 (8)-Broadwell微架构 2019-04-28
Intel Skylake (Client) 架构/微架构/流水线 (1) - 流水线概述 2019-04-28
Intel Skylake (Client) 架构/微架构/流水线 (2) - 前端 2019-04-28
Intel Skylake (Client) 架构/微架构/流水线 (3) - 乱序执行引擎 2019-04-28
Intel Skylake (Client) 架构/微架构/流水线 (4) - 高速缓存&存储器子系统 2019-04-28
Intel Skylake (Client) 架构/微架构/流水线 (5) - PAUSE指令时延 2019-04-28