我有一个在没有memcached的共享主机中运行的站点.那么,如同memcached一样将MySQL内存数据库作为对象缓存呢?
我会说,如果你运营一个需要memcached的网站,你不应该在共享主机上运行它.
那是我轻率的回答.这是一个真正的答案:
与MEMORY存储引擎相比,Memcached具有一些优势.
存储分布在多个服务器上.MEMORY存储引擎仅限于单个主机,并受该主机的CPU和内存的限制.
快速访问各个条目.MEMORY存储引擎只有表级锁定,因此并发性受到影响.
非关系键/值存储.MEMORY存储引擎更加结构化,对缓存类型的使用没有用.MEMORY还将varchar扩展为全长,因此存储效率较低.
作为缓存解决方案,我不会选择MySQL MEMORY存储引擎.由于您使用的是PHP,因此您应该使用APC或Xcache等.它们具有数据缓存功能,这些功能更适合PHP中的典型用法.
如果您没有使用这些PHP缓存技术之一,那么比担心memcached与MEMORY存储引擎相比,这是一个更重要的改进领域.