数据库变为瓶颈后, 数据查询如何加速和优化? 正常来说有了主从分离和分库分表之后,已经可以支撑十几万的DAU,但量大了以后,磁盘io会成为一个瓶颈,需要额外方案去提供性能 缓存 缓存其实不一定非要内存里,再某些场景下可以使用SSD作为冷数据的缓存,比如360开源的pika就是SSD存储数据解决red ...
分类:
其他好文 时间:
2019-10-15 19:25:52
阅读次数:
103
一个大型网站应用一般都是从最初小规模网站甚至是单机应用发展而来的,为了让系统能够支持足够大的业务量,从前端到后端也采用了各种各样技术,前端静态资源压缩整合、使用CDN、分布式SOA架构、缓存、数据库加索引、读写分离等等。 这些技术是高并发系统所必须的,但是今天先不细说,而先谈谈在这些架构既定的情况下 ...
分类:
其他好文 时间:
2019-10-06 13:36:49
阅读次数:
57
1.Memcached是什么,有什么作用? Memcached是一个开源的、高性能的内存缓存软件,从名称上看Mem就是内存的意思,而Cache就是缓存的意思。 Memcached通过在事先规划号的内存空间中临时缓存数据库中的各类数据,以达到减少业务对数据库的直接高并发访问,从而达到提升数据库的访问性 ...
分类:
系统相关 时间:
2019-10-05 22:15:42
阅读次数:
118
A数据库可以优化层面 1数据库结构的优化(硬件升级,读写分离,分表技术,,添加缓存数据库) 2表结构的优化(3范式设计,反三范式的设计,使用合适的存储引擎) 3语句的优化(使用存储过程和触发器,合理使用索引) B优化的思路: 如果是周期性波动,则需要调整缓存的缓存清除策略,防止内存穿透,击穿和雪崩 ...
分类:
数据库 时间:
2019-10-04 11:20:51
阅读次数:
125
一、简介 Redis:REmote DIctionary Server(远程字典服务)。 是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。是完全开源免费的,用C语言编写的,遵守BSD协议,高性能的(key/value)分布式内存数据库,基于内 ...
分类:
其他好文 时间:
2019-09-29 22:05:40
阅读次数:
84
redis在linux上的安装详解 1.redis介绍 (1)Redis是Remote Dictionary Server(远程数据服务)的缩写,由意大利人antirez(Salvatore Sanfilippo)开发的一款内存高速缓存数据库。 (2)该软件由C语言编写,它的数据模型为key-val ...
分类:
系统相关 时间:
2019-09-24 14:17:29
阅读次数:
115
读写分离: 为保证数据库数据的一致性,我们要求所有对于数据库的更新操作都是针对主数据库的,但是读操作是可以针对从数据库来进行。大多数站点的数据库读操作比写操作更加密集,而且查询条件相对复杂,数据库的大部分性能消耗在查询操作上了。 主从复制数据是异步完成的,这就导致主从数据库中的数据有一定的延迟,在读 ...
分类:
其他好文 时间:
2019-09-22 23:49:10
阅读次数:
160
本章内容的补充知识点 导入库的良好顺序: 1.系统库 2.django库 3.自己定义的库(第三方库) redis缓存数据库的数据调用速度快,但是不利于长时间保存。 mysql用于长时间存储,但是调用比较慢。 session会话存储的内容(以字典的方式存放)放在redis缓存里面,要设置过期时间 用 ...
分类:
其他好文 时间:
2019-09-16 21:11:55
阅读次数:
255
Redis是一个高性能基于key/value存储数据的分布式缓存数据库,基于内存运行并且支持持久化的NoSQL数据库。 根据CAP理论(强一致性、可用性和分区容错性),一个分布式系统不可能同时很好的满足这三个要求,最多只能较好的满足其中两个要求。那么分布式系统中分区容错性是必不可少的,而且结合当下用 ...
分类:
其他好文 时间:
2019-08-19 13:22:20
阅读次数:
79
缓存的使用与设计 1.受益 加速读写 CPU L1/L2/L3 Cache、浏览器缓存、Ehcache缓存数据库结果降低后端负载后端服务器通过前端缓存降低负载:业务端使用Redis降低后端MySQL的负载 2.成本 数据不一致:缓存层和数据层有时间窗口不一致问题,和更新策略有关代码维护成本:多了一层 ...
分类:
其他好文 时间:
2019-08-19 09:27:41
阅读次数:
89