改造dao.js

重头戏来了,打开conf/ioc/dao.js, 修改dao的定义

  1. dao : {
  2. type : "org.nutz.dao.impl.NutDao",
  3. args : [{refer:"dataSource"}],
  4. fields : {
  5. interceptors : [{refer:"cacheExecutor"}, "log"]
  6. }
  7. },
  8. cacheExecutor : {
  9. type : "org.nutz.plugins.cache.dao.DaoCacheInterceptor",
  10. fields : {
  11. cacheProvider : {refer:"cacheProvider"},
  12. // 需要缓存的表名
  13. cachedTableNames : ["t_user_profile",
  14. //"t_user", "t_role", "t_permission", "t_role_permission"
  15. ]
  16. }
  17. },
  18. // 基于EhcacheDaoCacheProvider
  19. cacheProvider : {
  20. type : "org.nutz.plugins.cache.dao.impl.provider.EhcacheDaoCacheProvider",
  21. fields : {
  22. cacheManager : {refer:"cacheManager"} // 引用ehcache.js中定义的CacheManager
  23. },
  24. events : {
  25. create : "init"
  26. }
  27. }

关注点

  • 当前的daocache支持单表缓存,注意是表,不是Pojo哦
  • NutDaoExt属于原NutDao的补丁版本哦,1.b.53之后直接引用NutDao就行,不需要NutDaoExt
  • 当前配置仅缓存t_user_profile
  • 请充分了解缓存导致的问题: 缓存数据不同步,缓存竞争存取等等