如何利用缓存提高应用性能
第一章
在这个网络信息化时代,各式各样的事情都需要通过网络应用去完成,如:健康码、行程卡等。应用访问量越来越大,对应用的性能要求也越来越高。本篇文章介绍如何利用缓存提供应用性能。
为什么需要缓存?
- 应用系统大部分业务场景属于读多写少,读取频繁会给数据库带来巨大压力。
- 为减少数据库压力,引入redis缓存来解决应用与数据库的交互。
- redis基于内存的操作可以大大提高应用的响应速度,从而提高性能。
元数据缓存设计思路
- 基于主键的缓存key来存储缓存对象。
- 所有查询转为主键,再从缓存中获取数据对象。如:通过key查询数据,需要将key转为主键(通过一次查询,只返回主键值),再通过主键值从缓存中获取数据对象。
- 元数据缓存可提高缓存空间利用率,同一个对象只缓存一次。
- 注意缓存对象是否存在引用,如果存在引用则需要进行对象复制。
集合数据缓存设计思路
- 通过查询条件将数据的主键集合查询出来,再根据主键集合从元数据缓存中获取数据对象。
- 元数据缓存可提高缓存空间利用率,同一个对象只缓存一次。
- 集合缓存会根据条件的不同出现N多个集合结果,如果每种组合都去缓存会出现缓存空间严重浪费。