对缓存的粒度的思考和总结:

对缓存的粒度的思考和总结:
缓存的粒度会影响缓存占用的容量,假如一个根据用户tag来查询用户偏好的文章,假设从查询出来的偏好中选10条来进行推荐(假设都大于10条),那么可以按照用户粒度进行缓存,缓存根据用户tag查询的结果,然后后面根据用户的ID从缓存中获取,然后再取10条;也可以按照tag粒度来缓存,然后每个用户根据自己的tag进行提取即可。这两种设计也提现可缓存的数据的冗余度,很明显根据用户维度进行缓存的冗余度是大于根据tag维度的,这样进而说明了用户维度比tag维度更细;另外根据用户维度来设计只需要从缓存中提取即可,计算不复杂,但是如果从tag维度设计就需要先取用户的每个tag的综合,然后再提取,这就涉及到空间和时间,内存和CPU直接的权衡了;

原文地址:https://www.cnblogs.com/big1987/p/11043907.html