关于PHP优化速度的问题,文件缓存,影响会大吗?

keyend 2013-09-11 11:26:49
由于条件有限,没有MemCache,但是很多地方如“地区信息、各种树型分类、全局菜单链接”等等信息,直接从数据库取的话,实在实在太慢了,而且一个页面下来语句太多了,所以采用了一个办法,就是把这类数据直接保存到硬盘下,要的时候就直接从硬盘读取。

项目做得差不多了,发现用到这类方法的地方好像挺多,现在就是胆心到时候正式上线的时候,过多的读取会不会直接就挂了?

有没有这方面有经验的,给下回复。当前的话,我测试的速度还是蛮快的,但是毕竟没有经过压力。
...全文
419 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdgdf566 2013-09-20
  • 打赏
  • 举报
回复
我的观点是,memcache这个东西适合用于两个会话(页面)之间交换数据,不适合用于缓存。
jdgdf566 2013-09-20
  • 打赏
  • 举报
回复
建议采用mysql查询缓存。这种方式可用性最高,灵活、透明。这个需求,性能没有必要很苛刻。
兼哲 2013-09-19
  • 打赏
  • 举报
回复
你可以用js 做 本地缓存
森之树 2013-09-18
  • 打赏
  • 举报
回复
我一般都是文件存储 加上memcache 都用 看数据内容
黄袍披身 2013-09-18
  • 打赏
  • 举报
回复
内存表足矣...
夏之冰雪 2013-09-14
  • 打赏
  • 举报
回复
由于条件有限,没有MemCache。 这句不是很清晰,memcache也不需要服务器有多高的配置。 还有,按照你现在的读文件做法,可以用jmeter等来测压力测试,压力测试的工具很多。 io及时现在没问题,随着访问增长,瓶颈还是它。。。 不管怎么改,建议不要大改动,不影响现在功能。
blizzf99 2013-09-14
  • 打赏
  • 举报
回复
顶帖收藏~~~~
丢雷老谋 2013-09-14
  • 打赏
  • 举报
回复
可以再第一次取出的时候写成文件存储,之后再读取的时候直接读取文件就行了,如果数据有修改就重新写入,很多框架都是这么做的
码无边 2013-09-13
  • 打赏
  • 举报
回复
由于条件有限,没有MemCache,但是很多地方如“地区信息、各种树型分类、全局菜单链接”等等信息,直接从数据库取的话,实在实在太慢了 最好还是优化你的查询和程序。
  • 打赏
  • 举报
回复
最好的就是读内存 就是缓存放在内存中 具体就是ls说的 而文件放在硬盘上 - - 感觉和读数据库 五十步 一百步的区别 硬盘是个瓶颈啊
jiangchuan2009 2013-09-13
  • 打赏
  • 举报
回复
项目做得差不多了,在这种情况下,你如果不想对代码大动干戈,最好的方法加中间缓存层,如果没有涉及到server集群,你可以开启server端eAccelerator、apc、xcache缓存opcode开启,如果是server集群,就需要在反向代理上做文章了
www_7di_net 2013-09-13
  • 打赏
  • 举报
回复
我簡單描述一下我的做法: 我的网站有一个庞大的分类表,这个分类表分为多个层次,每一个层次都存储了该分类下有多少条新闻. 为了防止每次都要重新读取分类表,所以我就建立了一个function,这个function只有在添加新闻的时候才会被调用,他的作用就是用来读取每一个分类,并计算每一个分类下都有多少个新闻,计算完毕之后就把分类重新组合成array,然后用这个function把我的array存入一个php文件内,这样前台在显示的时候只需要require这个php文件进来然后遍历array输出即可,就不需要重新读数据库了. 也就是提前把数据库中的分类读出来整合成array存入一个php文件里,显示的时候就require此php文件就行了,不需要每次读取数据库.
linjianzao 2013-09-11
  • 打赏
  • 举报
回复
自己搞个工具做下压力测试, 看下IO撑得住不。搞个缓存很快啊,随便上一个就可以了,又不会难
jdgdf566 2013-09-11
  • 打赏
  • 举报
回复
没有MemCache可以用mysql建立内存表。或者加大mysql缓存也管用。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧