32-redis分布式缓存---关联关系的缓存问题

如果我们表之间没有关联关系,我们每一个表对应的mapper.xml都使用的cache,这样没有任何问题。
但是如果我们表之间有关联关系,假如我们每一个表对应的mapper.xml还使用的cache,这样就会出现问题。例如,我们user中的用户同时还是emp中的员工,两个表之间有关联关系。假如我们希望在查询所有user时,将所有的emp也查出来。如果一对一关系,我们只需要在User实体类中添加Emp emp的属性即可。如果是一对多,我们需要在User实体类中添加Emp的集合。当我们执行对emp的增删改操作时,会把emp的对应缓存清除。但是user跟emp相关,再次查询user时,user的缓存还存在,查询出来的user中的emp还是没有修改的emp,这就出现问题了。
/
/
/
/
解决办法:
在有关联管理的实体类之间,选择一个主实体类,他的mapper.xml中还是使用cache,但是别的mapper.xml中使用
/
/
/
/

这样,我们的user和emp就共享了缓存。
无论我们查询user还是emp,都会放入我们user的缓存中。不论是对user还是emp进行增删改时,都会清空缓存。

浙公网安备 33010602011771号