解决方案 »

  1.   

    估计你是把应用场景想错了...sql的问题首先是优化语句当然你可以考虑将表放到临时内存表里处理
      

  2.   


    memcache可以分担mysql的压力。
    比如你有select的读语句要执行,每次读数据库前先从memcache缓存读,若是读不到再从mysql读,并将内容写到缓存,以便下次从缓存读。
    memcache说白了可以降低数据库服务的读压力,而且是缓存,读快且压力小。而“比如我现在我已经知道一条很复杂的sql语句执行时间很久”,要是想让它快你只能优化sql语句。若是这句是个读操作,那么你可以写缓存,以后读的话就非常快了。另外,缓存要注意一点,数据库update和delete的时候,缓存也要更新。~~~
      

  3.   

    当然,尽可能的优化是要先考虑做的然后现在要做缓存希望能更快一些那么 是要在每一个查询处来set or(and) get吗?那岂不是非常的繁琐.
      

  4.   

    memcache 不可以缓解数据库的压力
    如果那打算将查询结果放在 memcache 中供下次使用,那么下次你得到的不就总是旧的数据吗?
    如果还要去检查库中数据是否更新的话,那要缓存做什么?那么 memcache 适合由于什么样的场景呢?
    当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能
      

  5.   


    能否举个稍微具体的例子来说明下memcache的应用呢?  ===========
    我现在要查询一个用户关注的各类信息.要分别去查各种条件的汇总起来然后去信息总表内查询.   这种情况下适合使用memcache吗(缓存各种条件的汇总结果,设置个过期时间)?
      

  6.   


    memcache可以分担mysql的压力。
    比如你有select的读语句要执行,每次读数据库前先从memcache缓存读,若是读不到再从mysql读,并将内容写到缓存,以便下次从缓存读。
    memcache说白了可以降低数据库服务的读压力,而且是缓存,读快且压力小。而“比如我现在我已经知道一条很复杂的sql语句执行时间很久”,要是想让它快你只能优化sql语句。若是这句是个读操作,那么你可以写缓存,以后读的话就非常快了。另外,缓存要注意一点,数据库update和delete的时候,缓存也要更新。~~~
    大姐是做PHP吗?
      

  7.   

    当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能这句话没有看懂
      

  8.   

    当你的程序已经在使用文件或数据库缓存中间结果时,那么使用 memcache 可以提升缓存的性能
     这句话没有看懂
      

  9.   

    说白了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);
      

  10.   

    你这表述,memcache不是用来优化sql语句的,它是用来临时存储访问数据库后得到的数据,第一次获得数据后存储起来,下次访问的时候就不需要查询数据库,而是直接从内存中拿,从而达到减轻数据库访问压力.而memcache相当于是面向对象的访问接口(内存缓存的过程式程序)code中类似这样的逻辑
    if($mem->get('key')){ // 判断是否已经存储
        // 已存储 从内存中获取
        
    }else{
        $mem->set('key','value')  // 还没有存入缓存 存入
    }只是简单的调用这个,还是很简单的,自己试一下吧..