如题
网上看了很多资料 大都是关于memcache配置安装 还有函数列表的
现在已经配置好 用echo $memcache->getVersion();也可以打印出版本了
该如何进行进一步的操作 来使响应速度增加
比如我现在我已经知道一条很复杂的sql语句执行时间很久
如何针对这条sql语句进行操作?
如果描述不够清楚请说一下我尽量描述...
谢谢~~
估计你是把应用场景想错了...
sql的问题首先是优化语句
当然你可以考虑将表放到临时内存表里处理
如题
网上看了很多资料 大都是关于memcache配置安装 还有函数列表的
现在已经配置好 用echo $memcache->getVersion();也可以打印出版本了
该如何进行进一步的操作 来使响应速度增加
比如我现在我已经知道一条很复杂的sql语句执行时间很久
如何针对这条sql语句进行操作?
如果描述不够清楚请说一下我尽量描述...
谢谢~~
当然,尽可能的优化是要先考虑做的
然后现在要做缓存希望能更快一些
那么 是要在每一个查询处来set or(and) get吗?
那岂不是非常的繁琐.
memcache 不可以缓解数据库的压力
如果那打算将查询结果放在 memcache 中供下次使用,那么下次你得到的不就总是旧的数据吗?
如果还要去检查库中数据是否更新的话,那要缓存做什么?
那么 memcache 适合由于什么样的场景呢?
当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能
memcache 不可以缓解数据库的压力
如果那打算将查询结果放在 memcache 中供下次使用,那么下次你得到的不就总是旧的数据吗?
如果还要去检查库中数据是否更新的话,那要缓存做什么?
那么 memcache 适合由于什么样的场景呢?
当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能
缓存主要应用于某个时间段不会更新而且经常连接数据库的页面或者程序,比如天气预报,商城的每日促销页面等等,这些访问量会比较大,而且不长更新使用缓存时限,比如每天的8时更新或者分几个时间段,看自己的需求了
如题
网上看了很多资料 大都是关于memcache配置安装 还有函数列表的
现在已经配置好 用echo $memcache->getVersion();也可以打印出版本了
该如何进行进一步的操作 来使响应速度增加
比如我现在我已经知道一条很复杂的sql语句执行时间很久
如何针对这条sql语句进行操作?
如果描述不够清楚请说一下我尽量描述...
谢谢~~
当然,尽可能的优化是要先考虑做的
然后现在要做缓存希望能更快一些
那么 是要在每一个查询处来set or(and) get吗?
那岂不是非常的繁琐.
memcache 不可以缓解数据库的压力
如果那打算将查询结果放在 memcache 中供下次使用,那么下次你得到的不就总是旧的数据吗?
如果还要去检查库中数据是否更新的话,那要缓存做什么?
那么 memcache 适合由于什么样的场景呢?
当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能
说白了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);
你这表述,memcache不是用来优化sql语句的,
它是用来临时 存储访问数据库后得到的数据,第一次获得数据后存储起来,下次访问的时候就不需要查询数据库,而是直接从内存中拿,从而达到减轻数据库访问压力.
而memcache相当于是面向对象的访问接口(内存缓存的过程式程序)
code中类似这样的逻辑
if($mem->get('key')){ // 判断是否已经存储
// 已存储 从内存中获取
}else{
$mem->set('key','value') // 还没有存入缓存 存入
}
只是简单的调用这个,还是很简单的,自己试一下吧..
配置好了感觉效果不明显