思维开始有点混乱,不是因为别的,是因为前面写的太乱了。
cache最大的问题在于如何控制有效期。
做法1:主动更新。当有新的数据进入或数据更新的时候,删除相应的cache。这种做法优势是数据更新及时。弊端在于:cache的确定比较困难,尤其是列表等;数据的更新量比较大,大量的数据更新,将会造成负担加重。
做法2:被动更新,设定cache的存活时间。其中一种是,做消息队列,一个进程不断的扫描该队列,确定应该删除的cache,并删除它。另一种是,在调用cache数据的时候,确定cache生成时间,决定是否更新cache数据。