redis针对不同场景进行相关的策略的记录,临时未代码实现
来源:互联网 发布:惊悚电影 知乎 编辑:程序博客网 时间:2024/05/23 01:16
并发不高的情况:
读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;
写: 写mysql->成功,再写redis;
并发高的情况:
读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;
写:异步话,先写入redis的缓存,就直接返回;定期或特定动作将数据保存到mysql,可以做到多次更新,一次保存;
若mysql更新失败,则需要及时清除缓存及同步redis主键
阅读次数、限制用户操作次数等这种数据可以使用第二种
分布式
redis支持主从的模式。原则:Master会将数据同步到slave,而slave不会将数据同步到master。Slave启动时会连接master来同步数据。
这是一个典型的分布式读写分离模型。我们可以利用master来插入数据,slave提供检索服务。这样可以有效减少单个机器的并发访问数量
读写分离模型
通过增加Slave DB的数量,读的性能可以线性增长。为了避免Master DB的单点故障,集群一般都会采用两台Master DB做双机热备,所以整个集群的读和写的可用性都非常高。
读写分离架构的缺陷在于,不管是Master还是Slave,每个节点都必须保存完整的数据,如果在数据量很大的情况下,集群的扩展能力还是受限于单个节点的存储能力,而且对于Write-intensive类型的应用,读写分离架构并不适合。
读写分离模型
数据分片模型
为了解决读写分离模型的缺陷,可以将数据分片模型应用进来。
可以将每个节点看成都是独立的master,然后通过业务实现数据分片。
读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;
写: 写mysql->成功,再写redis;
并发高的情况:
读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;
写:异步话,先写入redis的缓存,就直接返回;定期或特定动作将数据保存到mysql,可以做到多次更新,一次保存;
若mysql更新失败,则需要及时清除缓存及同步redis主键
阅读次数、限制用户操作次数等这种数据可以使用第二种
分布式
redis支持主从的模式。原则:Master会将数据同步到slave,而slave不会将数据同步到master。Slave启动时会连接master来同步数据。
这是一个典型的分布式读写分离模型。我们可以利用master来插入数据,slave提供检索服务。这样可以有效减少单个机器的并发访问数量
读写分离模型
通过增加Slave DB的数量,读的性能可以线性增长。为了避免Master DB的单点故障,集群一般都会采用两台Master DB做双机热备,所以整个集群的读和写的可用性都非常高。
读写分离架构的缺陷在于,不管是Master还是Slave,每个节点都必须保存完整的数据,如果在数据量很大的情况下,集群的扩展能力还是受限于单个节点的存储能力,而且对于Write-intensive类型的应用,读写分离架构并不适合。
读写分离模型
数据分片模型
为了解决读写分离模型的缺陷,可以将数据分片模型应用进来。
可以将每个节点看成都是独立的master,然后通过业务实现数据分片。
结合上面两种模型,可以将每个master设计成由一个master和多个slave组成的模型。
基础数据可以放到缓存redis中,这样减少表的关联;
0 0
- redis针对不同场景进行相关的策略的记录,临时未代码实现
- 针对不同的应用场景选用不同的语言
- 实现对未登录用户进行相关操作的拦截
- 针对不同平台SDK的添加,我的应对策略.
- Memcache针对不同场景数据应用缓存策略
- 设计模式:策略模式(对象的某个行为,在不同的场景中,有不同的实现算法)
- Redis相关的问题及应对策略
- Visual Studio Express: 实现同一套代码针对不同平台工程的编辑和编译
- 针对不同浏览器,进行附件名的编码
- 用Maven实现不同的测试策略
- 介绍 redis-Bit-Map 的相关命令和常用场景
- Oracle针对临时表空间的操作
- 字符串连接的不同实现(针对初学者)
- Redis不同数据类型的的数据结构实现
- redis---应用的场景
- redis---应用的场景
- redis应用的场景
- Redis的使用场景
- CentOs6.5使用本地yum源安装swig
- 一致性 Hash 算法学习
- Java软件工程师就业思维图(2016年版)
- 基于Spring的包含特定注解bean的package扫描工具
- java设计模式
- redis针对不同场景进行相关的策略的记录,临时未代码实现
- 一元三次方程-ssl 1015
- Sublime text3 添加代码片段
- PHP入门篇 第4章 常量
- 批量计算
- 工程实践2
- APK签名原理
- mongodb 存储shard
- 【计算机视觉】Objectness算法(一)---总体理解,整理及总结