码迷,mamicode.com
首页 > 其他好文 > 详细

思考:缓存的使用?灵活运用?

时间:2019-10-23 16:47:06      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:链表   灵活   运用   推荐系统   内存   nbsp   缓存   信息   结果   


思考:缓存的使用?灵活运用?
背景:如果需要一个请求在处理过程中需要多次网络调用第三方缓存(比如redis),那么缓存最好在用户程序的内存里面(比如使用Ehcache);如果用户程序内存不够装载,
那么应该考虑对数据进行处理以支持减少调用次数,采用一次批量获取结果的方式(当然数据存储的格式要支持批量get)(比如使用redis的 hset,hget );


思考:灵活运用?
首先对自己面对的问题能够很好的理解,另外对一些工具(的说明)要很好的理解,这样才能很好的灵活地运用;
比如,在推荐系统中,经常会遇到这样一个问题:在召回后,需要读取多个,比如100个Item的素材的详细信息,怎么做?
假设,串行执行100次,那么就算一个耗时1ms,那么也需要100ms,这样对于在线服务是绝对不允许的;
如果很清楚自己面临的问题是:尽量少的网络调用就能够读取到100个素材的详情;那么就需要批量操作;
如果很清楚redis的hset,hget操作;
那么你就很清楚你面临的问题怎么解决了,就是使用redis的hset把结果集放到redis的一个压缩双链表 ziplist中,然后就可以通过hget批量获取了;

 

思考:缓存的使用?灵活运用?

标签:链表   灵活   运用   推荐系统   内存   nbsp   缓存   信息   结果   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!