数据库中有两个表的更新频率非常高,一个记录有可能在5分钟内更新5个状态,而且这两个表关联的,经常用到链表查询,在用户比较多的情况下,如果不适用缓存,网站访问起来非常的慢,所以请教大师,这种情况下怎样应用缓存,缓解一下数据库的压力。我在看一个memcache的东西,描述是很精彩,但是不知道在适不适合我这种情况,在这方面没有经验,请大师指导指导。谢谢先

解决方案 »

  1.   

    你可以把这两个表用memory 存储引擎。http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html#memory-storage-engine
    15.4. MEMORY (HEAP)存储引擎
    MEMORY表有下列特征: ·         给MEMORY表的空间被以小块来分配。表对插入使用100%动态哈希来。不需要溢出区或额外键空间。自由列表无额外的空间需求。已删除的行被放在一个以链接的列表里,并且在你往表里插入新数据之时被重新使用。MEMORY表也没有通常与在哈希表中删除加插入相关的问题。 ·         MEMORY表可以有多达每个表32个索引,每个索引16列,以及500字节的最大键长度。 ·         MEMORY存储引擎执行HASH和BTREE索引。你可以通过添加一个如下所示的USING子句为给定的索引指定一个或另一个: 
      

  2.   

    memory好像是说有存储大小的限制吧(内存),那两个表的数据可是不小的。400~500M
      

  3.   

    数据量达到几百万了?一般建好索引,优化sql是没啥问题的如果数据上千万了,考虑分表,集群等技术不是大公司,估计用不上
      

  4.   

    挺适合的。MEMCACHED 的内存限制取决于您机器的物理内存!