缓存处理
分类
C#XCode中的缓存处理分为三级分别是:
1.一级缓存:数据库使用SQL语句为Key制作一个字典,Value为SQL语句对应的数据
2.实体(本地)缓存:将表名作为Key,这个表的内容作为Value
3.单操作缓存:将单一主键作为Key,一行数据作为Value
缓存策略
一级缓存的策略:每隔固定时间清除一次(清除)
实体缓存的策略:定期更新,并且有个定期检查时间(两者并不相等,检查时间小于更新时间),检查缓存是否应该更新。所以实际更新时间>=规定更新时间,此为异步更新。(更新)
单对象缓存的策略:采用最长时间不用丢弃算法,或者当超过10000个缓存的时候清除一次(丢弃或者清除)
更新方法
以上策略都会存在拿到旧数据的风险,因此需要一个更新方法。XCode中采用的是绑定在CURD操作内部的Excute()方法。该方法在发生CURD操作后将缓存更新或者清除
PS:要想触发Excute方法必须使用合乎规范的XCode语句,而写SQL语句则不会触发