单体缓存

核心原则:读多写少的数据,缓存起来,减少数据库访问,提升性能

单对象缓存

单对象缓存就是以主键字典逐行缓存数据,常用于需要单行数据查询的场合,比如用户表等。 可以看做是一个字典,以主键为Key,实体对象为Value。每次查询先在字典里面搜索,找到则返回,找不到则去数据库查,缓存起来后再返回。 实体类内使用Meta.SingleCache[key]即可启用单对象缓存。

public Student FindByID(Int32 id)
{
    if (id <= 0) return null;

    return Meta.SingleCache[id];
}

缓存默认过期时间60秒,过期后更新。 任何添删改等改动数据库的操作,都将会清空缓存。

缓存更新策略

在没有使用事务时,对数据表的任何添删改,将会让该表的实体缓存马上过期,以及清空单对象缓存。 使用事务时,每一个添删改操作仅修改缓存,直到事务提交或回滚才清空缓存。

上次更新: 2018-12-2 13:57:29