wangwenjun69 2011-03-14 22:55 采纳率: 0%
浏览 190
已采纳

关于缓存的问题

看了一些缓存的东西,但是我有些不明白的地方,向大家请教,比如现在有很多缓存解决方案,诸如oscache,ehcache等等,我使用过,主要是用来往磁盘持久化的,但是我看了很多的介绍,大多作为内存的缓存,包括apache的对象池等,我疑惑的内存的缓存,可以放在数组中或者容器中(list,map)这样可以满足内存的缓存啊!为什么那么多的框架还需要提供解决方案呢?请各位给一个让我明白或者恍然大悟的答案!谢谢各位高手了!

  • 写回答

5条回答 默认 最新

  • iteye_16421 2011-03-15 13:07
    关注

    关于这个问题要看你应用的场合,如果你的系统比较小,只一台服务器就能搞定,不需要分布式的,所要求的缓存也比较小,一台机器就有搞定,那你用map就行了,没必要用其它的缓存系统,用其它的缓存系统,反而效率更低。

    如果你的系统比较大,有多台服务器要需去共享缓存中的数据,那么你的缓存系统就需要基于网络连接方式完成服务,最好支持分布式,将来可以方便的扩展缓存大小,并且这些缓存系统提供了缓存的策略,无需你去释放内存,也不会存在内存溢出和内存泄露的问题。

    缓存系统都是作为数据库前端cache使用的。因为它比数据库少了很多SQL解析、磁盘操作等开销,而且它是使用内存来管理数据的,所以它可以提供比直接读取数据库更好的性能,在大型系统中,访问同样的数据是很频繁的,缓存系统可以大大降低数据库压力,使系统执行效率提升。

    另外,缓存系统也经常作为服务器之间数据共享的存储媒介,例如在SSO系统中保存系统单点登陆状态的数据就可以保存在缓存系统中,被多个应用共享。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥50 安装pyaudiokits失败