缓存架构设计
核心原则:读多写少的数据,缓存起来,减少数据库访问,提升性能
单对象缓存
单对象缓存就是以主键字典逐行缓存数据
,常用于需要单行数据查询的场合,比如用户表等。
可以看做是一个字典,以主键为Key,实体对象为Value。每次查询先在字典里面搜索,找到则返回,找不到则去数据库查,缓存起来后再返回。
实体类内使用Meta.SingleCache[key]
即可启用单对象缓存。
public Student FindByID(Int32 id)
{
if (id <= 0) return null;
return Meta.SingleCache[id];
}
缓存默认过期时间60秒
,过期后更新。
任何添删改等改动数据库的操作,都将会清空缓存。
缓存更新策略
在没有使用事务时,对数据表的任何添删改,将会让该表的实体缓存马上过期,以及清空单对象缓存。
使用事务时,每一个添删改操作仅修改缓存,直到事务提交或回滚才清空缓存。