如何将mysql表中的所有条目存储在memcache中


How do I store all the entries from a mysql table in memcache?

假设我有一个表,有超过一百万个条目,我想使用memcache将它们全部存储到内存中。是否有可能检索所有或任何这些记录,而不使用SELECT语句查询MySQL ?如果可能的话,我应该怎么做(使用PHP)来完成这个任务?

以下是我的想法:

  1. mysql不会在每个缓存上从磁盘读取数据-它也会在内存中缓存数据(但需要调整,没有任何神奇的配置在任何情况下都能很好地工作)
  2. 如果你不需要mysql,你认为没有sql查询你会很好-移动到redis/couchdb/mongodb
  3. 缓存经常请求的东西。你不需要浪费所有1M记录的内存,因为只有1%的记录经常被请求-所以只缓存需要缓存的东西
  4. mysql本身是一个很好的和足够快的存储-与适当的索引处理1M记录应该不是一个问题在所有