zoukankan      html  css  js  c++  java
  • 思考:缓存的使用?灵活运用?


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


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

  • 相关阅读:
    无声购票弹窗
    C#多线程与异步的区别
    关于adb驱动
    事务日志初探(二)---简单恢复模式
    预写式日志(Write-Ahead Logging (WAL))
    如果正确读取SQL Server中的扩展事件?
    索引初探(三)
    事务日志还原的次意外的操作失误
    索引初探(二)
    索引的初探(一)
  • 原文地址:https://www.cnblogs.com/big1987/p/11726910.html
Copyright © 2011-2022 走看看