关于memcache的使用(入门级问题),memcache已经配置好,如何才能通过使用它来加快访问速度?

再看我一眼 2013-06-25 11:57:12
如题

网上看了很多资料 大都是关于memcache配置安装 还有函数列表的

现在已经配置好 用echo $memcache->getVersion();也可以打印出版本了


该如何进行进一步的操作 来使响应速度增加

比如我现在我已经知道一条很复杂的sql语句执行时间很久

如何针对这条sql语句进行操作?


如果描述不够清楚请说一下我尽量描述...

谢谢~~
...全文
812 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
宁波大学生网 2015-02-12
  • 打赏
  • 举报
回复
配置好了感觉效果不明显
billoldtwo 2013-06-27
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
memcache 不可以缓解数据库的压力 如果那打算将查询结果放在 memcache 中供下次使用,那么下次你得到的不就总是旧的数据吗? 如果还要去检查库中数据是否更新的话,那要缓存做什么? 那么 memcache 适合由于什么样的场景呢? 当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能
当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能 这句话没有看懂
billoldtwo 2013-06-27
  • 打赏
  • 举报
回复
引用 3 楼 anyilaoliu 的回复:
当然,尽可能的优化是要先考虑做的 然后现在要做缓存希望能更快一些 那么 是要在每一个查询处来set or(and) get吗? 那岂不是非常的繁琐.
当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能这句话没有看懂
gfsdrgsdf 2013-06-27
  • 打赏
  • 举报
回复
你这表述,memcache不是用来优化sql语句的, 它是用来临时存储访问数据库后得到的数据,第一次获得数据后存储起来,下次访问的时候就不需要查询数据库,而是直接从内存中拿,从而达到减轻数据库访问压力. 而memcache相当于是面向对象的访问接口(内存缓存的过程式程序) code中类似这样的逻辑 if($mem->get('key')){ // 判断是否已经存储 // 已存储 从内存中获取 }else{ $mem->set('key','value') // 还没有存入缓存 存入 } 只是简单的调用这个,还是很简单的,自己试一下吧..
SeeleSpirit 2013-06-27
  • 打赏
  • 举报
回复
说白了Memcache是一种内存缓存技术,是一种缓存手段,要看情况来使用。 对于频繁读取,每次读取重复率高,数据更新频度低的数据,用Memcache可以优化你的系统响应速度。 一般来说,Memcache的使用分为几个步骤: 1、在代码中,实例化Memcache对象 $mem = new Memcache; $mem->addserver('127.0.0.1',11211); 2、在获取数据后,将数据缓存到Memcache,下面例子中$data就是需要缓存的数据,$key可以认为是Memcache缓存数据的唯一性标识 $mem->add($key,$data,MEMCACHE_COMPRESSED,60); 3、在需要数据时,从Memcache里面根据$key取数据 $val = $mem->get($key);
夏之冰雪 2013-06-25
  • 打赏
  • 举报
回复
引用 楼主 anyilaoliu 的回复:
如题 网上看了很多资料 大都是关于memcache配置安装 还有函数列表的 现在已经配置好 用echo $memcache->getVersion();也可以打印出版本了 该如何进行进一步的操作 来使响应速度增加 比如我现在我已经知道一条很复杂的sql语句执行时间很久 如何针对这条sql语句进行操作? 如果描述不够清楚请说一下我尽量描述... 谢谢~~
memcache可以分担mysql的压力。 比如你有select的读语句要执行,每次读数据库前先从memcache缓存读,若是读不到再从mysql读,并将内容写到缓存,以便下次从缓存读。 memcache说白了可以降低数据库服务的读压力,而且是缓存,读快且压力小。 而“比如我现在我已经知道一条很复杂的sql语句执行时间很久”,要是想让它快你只能优化sql语句。 若是这句是个读操作,那么你可以写缓存,以后读的话就非常快了。 另外,缓存要注意一点,数据库update和delete的时候,缓存也要更新。~~~
黄袍披身 2013-06-25
  • 打赏
  • 举报
回复
估计你是把应用场景想错了... sql的问题首先是优化语句 当然你可以考虑将表放到临时内存表里处理
u011171415 2013-06-25
  • 打赏
  • 举报
回复
引用 2 楼 hellodifa 的回复:
[quote=引用 楼主 anyilaoliu 的回复:] 如题 网上看了很多资料 大都是关于memcache配置安装 还有函数列表的 现在已经配置好 用echo $memcache->getVersion();也可以打印出版本了 该如何进行进一步的操作 来使响应速度增加 比如我现在我已经知道一条很复杂的sql语句执行时间很久 如何针对这条sql语句进行操作? 如果描述不够清楚请说一下我尽量描述... 谢谢~~
memcache可以分担mysql的压力。 比如你有select的读语句要执行,每次读数据库前先从memcache缓存读,若是读不到再从mysql读,并将内容写到缓存,以便下次从缓存读。 memcache说白了可以降低数据库服务的读压力,而且是缓存,读快且压力小。 而“比如我现在我已经知道一条很复杂的sql语句执行时间很久”,要是想让它快你只能优化sql语句。 若是这句是个读操作,那么你可以写缓存,以后读的话就非常快了。 另外,缓存要注意一点,数据库update和delete的时候,缓存也要更新。~~~[/quote] 大姐是做PHP吗?
皓月长空 2013-06-25
  • 打赏
  • 举报
回复
缓存主要应用于某个时间段不会更新而且经常连接数据库的页面或者程序,比如天气预报,商城的每日促销页面等等,这些访问量会比较大,而且不长更新使用缓存时限,比如每天的8时更新或者分几个时间段,看自己的需求了
再看我一眼 2013-06-25
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
memcache 不可以缓解数据库的压力 如果那打算将查询结果放在 memcache 中供下次使用,那么下次你得到的不就总是旧的数据吗? 如果还要去检查库中数据是否更新的话,那要缓存做什么? 那么 memcache 适合由于什么样的场景呢? 当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能
能否举个稍微具体的例子来说明下memcache的应用呢? =========== 我现在要查询一个用户关注的各类信息.要分别去查各种条件的汇总起来然后去信息总表内查询. 这种情况下适合使用memcache吗(缓存各种条件的汇总结果,设置个过期时间)?
xuzuning 2013-06-25
  • 打赏
  • 举报
回复
memcache 不可以缓解数据库的压力 如果那打算将查询结果放在 memcache 中供下次使用,那么下次你得到的不就总是旧的数据吗? 如果还要去检查库中数据是否更新的话,那要缓存做什么? 那么 memcache 适合由于什么样的场景呢? 当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能
再看我一眼 2013-06-25
  • 打赏
  • 举报
回复
当然,尽可能的优化是要先考虑做的 然后现在要做缓存希望能更快一些 那么 是要在每一个查询处来set or(and) get吗? 那岂不是非常的繁琐.

21,893

社区成员

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

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