有没有试过将MySQL的某些表的数据缓存在内存里面,从而是查询的时候直接在内存查找,无需再次访问数据库的呢?假设有个库webgame,库里面有表user、materials、type....
我想将type的数据,全部掏出来放在内存里面供用户长期的访问!可以做到这个效果么?
因为有部分表的记录需要不停的进行update/insert/delete的操作,
而部分的表只进行select操作。
我想将那些只做Select操作表的数据全部缓存起来,让用户每次查询就只在内存查询!

解决方案 »

  1.   

    Select操作表的数据全部缓存起来,让用户每次查询就只在内存查询!
    ----------------------
    根据我了解,想长期缓存在内容里目前是没有的,理论上在query_cache里面,但有可能给从内存中置出这个在oracle里面可以做到的,不知道mysql是不是也有类似的处理方法,期待他人分享...
      

  2.   

    1。query_cache 如果每次查询的语句都一样,且数据没有改动,MYSQL自动会把查询结果缓存在query_cache,只要这个query_cache_size设得够大,一般不会被置换出。2。内存表 type=memory, 数据库停止自动清除,所以只能建立临时表,你可以在每次启动数据时,把这些表复制成内存表,以后就读写这内存表,象discuz框架中,就把记录session的表设为内存表。
      

  3.   

    好像 在hibernate 中利用oscache 命中率很高。