做一个彩票网站需要怎么做,中信建设内部网站,学校网站建设的安全策略,网站开发用什么软件有哪些缓存定义与意义
狭义缓存#xff1a;加速CPU数据交换的存储器。广义缓存#xff1a;所有用于数据高速交换的存储介质#xff0c;包括硬件和软件。缓存目的#xff1a;通过数据交换缓冲区减少原始数据获取代价#xff0c;提高读写性能。
缓存思想与性能
时间局限性原理加速CPU数据交换的存储器。广义缓存所有用于数据高速交换的存储介质包括硬件和软件。缓存目的通过数据交换缓冲区减少原始数据获取代价提高读写性能。
缓存思想与性能
时间局限性原理数据一旦被获取未来可能被多次引用。以空间换时间使用高速独立空间来提供数据的高效访问。性能成本权衡访问延迟越低性能越高成本也越大。
缓存的优势与代价
优势 提升访问性能。降低网络拥堵。减轻服务负载。增强可扩展性。 代价 增加系统复杂度。增加部署和运行成本。存在数据一致性问题。
缓存读写模式
Cache Aside旁路缓存 写操作更新数据库后删除缓存中的key。读操作先读缓存未命中则读数据库并回写缓存。 Read/Write Through读写穿透 业务应用通过存储服务与缓存和数据库交互。存储服务代理处理缓存和数据库的读写操作。 Write Behind Caching异步缓存写入 先更新缓存异步批量更新数据库。写性能高但可能数据一致性差存在数据丢失风险。
缓存问题解决方案
缓存穿透 频繁查询不存在的数据。解决方案接口校验、缓存空对象、布隆过滤器。 缓存击穿 热点Key过期导致大量请求访问数据库。解决方案永不过期、逻辑过期、使用互斥锁。 缓存雪崩 大量缓存key同时失效或服务宕机。解决方案随机过期时间、集群部署、多级缓存、降级限流。
缓存数据不一致和并发竞争
数据不一致 原因更新数据库后缓存更新失败。解决方案重试更新、使用队列服务、缓存分层策略。 数据并发竞争 原因缓存miss导致大量请求并发查询数据库。解决方案全局锁、多个缓存备份。
Hot Key和Big Key问题
Hot Key 原因突发热门事件导致大量请求。解决方案识别热key、分散缓存节点、多副本架构、监控SLA、本地缓存。 Big Key 原因缓存Value过大导致读写超时。解决方案启用压缩、预先分配足够空间、序列化构建、分拆大key。
Redis网络模型
用户空间与内核空间 用户空间通过内核接口访问资源。内核空间直接调用系统资源。 Linux缓冲区 用户空间和内核空间都加入缓冲区提高IO效率。 网络模型 阻塞IO两个阶段都阻塞。非阻塞IO第一阶段不阻塞第二阶段阻塞。IO多路复用单个线程监听多个FD。信号驱动IO通过信号通知用户进程FD就绪。异步IO内核完成数据处理后写入用户态。
Redis多线程支持
Redis v4.0引入多线程处理耗时任务。Redis v6.0在核心网络模型中引入多线程。
缓存设计架构考量点
读写方式整体读写或部分读写。KV size根据业务数据大小分拆或合并KV。key数量全量数据或只保留热数据。读写峰值独立Cache池或分层处理。命中率持续监控和故障处理。过期策略设置合理过期时间或使用时间戳。