• PHP文件缓存与memcached缓存 相比 优缺点是什么呢【总结】


    如果不考虑其他任何问题,只比较速度的话,那肯定是mem快,但他们各有优缺点。
    文件缓存优点:
    1、由于现在的硬盘都非常大,所有如果是大数据的时候,放硬盘里就比较合适,比如做一个cms网站,网站里有10万篇文章,生成的文件大小总数可能就会很大。
    2、数据的存放较为安全,由于是硬盘存放,所以在意外掉电的情况下,缓存文件不会丢失。
    3、易于扩展,如果硬盘不够用,可以更换大硬盘或者添加硬盘,在容量上受的限制很小。
    文件缓存缺点:
    1、高并发时,硬盘的读写性能大幅度降低。
    2、网站pv持续很高的情况下,硬盘寿命大大降低。

    memcached优点:
    1、读写性能优异,特别是高并发时和文件缓存比有明显优势。
    2、memcached组建支持集群,并且是自动管理负载均衡。
    memcached缺点:
    1、缓存空间有限:据说一台电脑的mem缓存开到2g以上会出现不稳定,数据无故丢失的现象。
    2、掉电丢失数据:由于是把数据放在内存里的,所有一旦机器掉电,数据也就全部丢失了。

    一般建议:如果是做内容缓存的话,比如把一些不经常更改的文章放在文件缓存里比较合适,而mem则适合放一些频繁更改的数据,比如可以把session数据放进mem。

    文件缓存耗IO、过期时间自行控制、不费带宽、不易采用分布式。
    cache缓存耗内存、过期时间由cache控制、稍占带宽、易采用分布式。

    在实际项目应用中,可以联合使用memcache和文件类型缓存。根据热度来把最热的数据放在内存里面。然后把一般的数据放在文件缓存中。

    读取数据时,可以按照 memcache=>file_cache=>databases
    这样的递归来处理。最大程度的利用缓存来减轻数据库的查询压力。

    另外session不能放在内存里面。可以用redis存储session.定时把内存数据刷新到硬盘。这样万一断电或者其他故障,不至于所有session都失效。

    memcache 的使用场景是:当你有大量的数据 >2G 大小,而这些数据是 有可能被很频繁的读写时,memcache可以使用集群,不但跨进程,而且跨机器。

    文件缓存,现在较少使用了。因为磁盘io的随机定位是10ms 左右,而且磁盘io太频繁的话,会拖慢整个服务器的处理性能。也没办法支持高并发。

    现在的大部分的时候都是将计算和io区分开,可以保证各自的性能。计算可以放到数据库去做,比如查询 ,连表啊 啥的。
    io就nosql吧 这样支持高并发好点。

    http://zzstudy.offcn.com/archives/10009

  • 相关阅读:
    hash的简单应用
    2273: 蓝桥杯第八届省赛正则问题
    Git 消息提交规范
    监听数据变化
    微信小程序组件传参和交互
    vue3 setup语法糖
    GitBook——制作精美的电子书、产品文档、知识库、个人项目、API文档等,并「分享」
    ps镜像翻转单个图层
    windows10或server没有「启动快速启动」的选项的解决方案
    win10驱动程序安装失败的解决方案(禁用驱动程序强制签名)
  • 原文地址:https://www.cnblogs.com/hellowzd/p/5689127.html
Copyright © 2020-2023  润新知