如何强制重新读取数据库数据(在读取之前不驱逐二级缓存)然后将其放入缓存.
用例如下:
有一项服务,它使用字典数据.服务承受高负荷,因此性能是必须的.
我希望字典数据始终在服务的二级缓存中可用.
字典数据可以在外部修改,因此需要定期刷新缓存.
是否有可能以这样的方式“刷新”二级缓存,使得SessionFactory的其他客户端不会导致db命中(在读取更新数据时将获取旧项).
ehcache用作缓存提供程序,但可以合理地更改.
解决方法:
要经常读取数据库,您可以将会话中的CacheMode设置为REFRESH – 将从数据库中为该一个客户端获取数据,并将任何更新添加到二级缓存中.使用普通缓存模式查询的其他客户端将从二级缓存中读取而不会访问数据库.