假设ID=1的人员在三个自定义组内,设为GROUP_A,GROUP_B,GROUP_C
东师的GROUD_DISDEAL,所在区校教研室分别为GROUP_SCHOOL_123,GROUP_AREA_2323,GROUP_JIAOYANSHI_2343
其它的就是这个人被直接推荐、收藏等,这些可能不是以GROUP为KEY记录的,但一个意思。
每个组我们都记录最后修改的时间TS,所谓最后修改时间TS,就是在有修改(比如删除,添加,更改时)修改最新的时间TS即可,与数据库的TS更改时间不必一致。
在有查询需要时,先检查ID=1的人是不是群组有无增加,删除,如果无,
那和分别获取每个GROUP的最后修改TS,如发现有不一致的,当然需要重新获取并更新二级缓存,否则直接获取二级缓存即可
这样要求我们在预热时需要记录每个人员的个性数据,群组的TS,东师的TS,SCHOOL的TS,AREA的TS等,这些TS可以是预热时的时间TS,而不是什么数据库中的TS.
比如有人给ID=1的人推荐了一个资源,那么肯定此ID=1的人员修改化数据TS要更改为修改的时间TS,下次请求时,自然需要重新获取了。
这个修改的思路就比修改时不知道改哪些数据有本质的区别了。