分布式缓存技术详解:Redis必知知识点

需积分: 13 0 下载量 169 浏览量 更新于2024-09-01 收藏 53KB MD 举报
"分布式缓存及Redis必知必会" **分布式缓存的重要性** 在项目中,缓存是如何使用的?减少 MySQL 的 QPS 压力,是作为分布式系统部署架构,可以作为 Redis redlock 锁使用。使用缓存可以解决频繁查询重复数据库耗时问题,提高系统性能。 **缓存的优点** 高性能:解决频繁查询重复数据库耗时问题。如果有 1000 个人,每次都查询的是重复的数据,5 分钟内从数据库中查询了 1 万次,每次耗时 800ms,查询会很慢。如果第一个人查询耗时 800ms,然后将数据写入到缓存中,那么之后的人直接从缓存中读取,只需要 10ms,效率可想而知。 高并发:减少数据库的请求量,分担压力。数据库承载每秒的请求量大概在不超过 5000 个,如果超过这个数量,可能引起宕机。如果此时在中午高峰期,有几十万用户访问,每秒有上万个请求查询数据库,则数据库无法承载这种压力。如果绝大部分请求的数据都在缓存中,只有小部分请求通过查询数据库获取到数据,则解决了并发问题。Redis 可以承载每秒约 10w 个请求。数据库每秒最好不超过 2000 个请求。 **缓存的缺点** 缓存与数据库双写不一致、缓存穿透、缓存雪崩、缓存并发竞争等问题。 **Redis 概述** Redis 是一个高性能的 NoSQL 数据库,支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。Redis 的单线程模型,需要了解网络通信 socket 知识。 **Redis 和 Memcached 的区别** Redis 支持复杂的数据结构,Redis 有更多的数据机构,支持丰富的数据操作。Memcached 只支持 key-value 结构,更改值的时候只能先 get 再 set 回去。Redis 原生支持集群模式,在 Redis 3.x 版本中,能够支持 cluster 模式,而 Memcached 没有原生的集群模式,需要客户端的支持来实现集群。 **Redis 的单线程模型** Redis 基于 reactor 模式开发了网络事件处理器,这个处理器叫做文件事件处理器(file event handler)。Redis 的单线程模型图解,Redis 的网络通信基础认识,Redis 的事件处理器是如何工作的等问题。 **分布式缓存的架构模式** 分布式缓存有多种架构模式,例如主从架构、主备切换、哨兵、Redis cluster 集群、持久化、过期策略等。分布式缓存的架构模式可以根据具体的业务需求选择。 **分布式缓存的应用场景** 分布式缓存可以应用于各种业务场景,例如电商平台、社交媒体、游戏等。分布式缓存可以解决高并发、高性能的业务需求。 **总结** 分布式缓存是解决高并发、高性能业务需求的重要手段,Redis 是一个高性能的 NoSQL 数据库,支持多种数据结构,单线程模型,支持集群模式等特点。分布式缓存的架构模式可以根据具体的业务需求选择,分布式缓存可以应用于各种业务场景。