关于缓存list,对list中的数据进行操作,如何更新缓存?

如:
缓存随意,假如我存放了一个list至缓存,list中有两个obj1,obj2对象。
我对obj1对象进行修改,删除obj2对象。
按照正常业务,缓存中的这个list也应该进行更新,但是我如何根据我的修改或者删除操作知道那个list中有我修改的数据?
最常见的应用:一个数据列表,在table上对某条数据进行了修改,就需要更新缓存了(这种还应该可以获取到对应数据的key,但是我是删除操作的话,就应该该分页数据缓存缓存后面所有数据页才对)后
类似的各种业务,你们是如何设计如何解决的?我之前见过一个,公司写了个定时任务去扫描该大类的所有缓存,找到即操作。。。蛋疼...

对于缓存list的问题,我一般的做法是若相关数据有修改,则将缓存中的list清除,将修改结果保存到数据库中,下次查询缓存中无该list,则会去查询数据库,并将数据库中查询的结果存入缓存。

常见做法,你存list肯定会要设置一个key,如果有修改,先用key把缓存里面的list删掉,然后把新的放进去即可。

一般是在修改的地方这样做:

1.修改相关数据,并保存数据库;
2.按照key删除缓存中的数据;
3.重新获取数据并存入缓存(这一步也可以在查询的时候做)
3.1 (查询的时候做),查询时先判断缓存中是否有相应结果,有则直接获取,没有就从数据库查询,拿到结果后放到缓存。