Skip to content

fangoxyz/DaoCache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

2015-6-3
1.修改缓存未启动就写关联关系的问题
2.缓存穿透问题在事务时会导致事务锁死,关闭之。
2015-5-30
1.解决了缓存穿透问题,当有相同sql正在读取数据库时,等待另一条相同sql执行结束,并等待另一条相同sql将数据写入缓存,然后本条sql直接到缓存中读数据,不走数据库.
  在并发时,相同的sql会重复从数据库中读取数据,导致缓存无效。此处并非简单地加锁,而是使用了一个带线程名字的线程池,当线程池中没有重复的sql则正常读取,当发现线程中有和本条sql相同的
  sql语句正在读取数据库时,则阻塞本线程,等待另一条sql语句从数据库中取出数据后,直接去缓存中取数据,减轻数据库压力。
  以上描述的场景在应用启动或高并发时非常明显,此方法非常有效地解决了此问题。
2.解决关联关系初始化时不能写入缓存的问题,可能是由于ehcache缓存还未完全启动时写入缓存导致.
2015-5-24
1.解决了根据主键update或delete时,不认为是主键的问题
2.解决了insert into语句不会清除缓存的问题
2015-5-19
1.根据兽解决的缓存保存Null值的问题的原理,做了一些修改.
2.增加1级,如t_user的一级缓存为t_user_L1___
3.增加了缓存之间的关联关系,用于多表查询以及视图查询,多表查询时缓存名使用##连接,如t_user##t_usergroup,当清除t_user表的缓存时会清除缓存名为t_user##t_usergroup的缓存.
4.多表查询以及视图查询相当于L3
2015-5-19前
1.ehcache.xml是配置ehcache文件,放在classes目录
2.dao.js文件通过js文式配置daocache需要缓存的表,以及配置DaoExecutor以及NutDaoExt

About

NutzDao的缓存扩展,依赖Druid DataSource 和 Ehcache

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors