在Memcached中正确存储数据

时间:2015-11-15 21:07:30

标签: php performance data-structures memcached

我使用Memchache存储一些数据,memcahce中的单项看起来像以下结构:

opacity

所以在memcache中我有多个具有相似键的项目,可以通过Web界面更改位于side locale-> domain中的值。我的问题是:

如果我将所有语言环境放在名为locales_holder的单个memcache项目中,然后从中获取所有数据,它对性能至关重要还是可以呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

这不会非常有效。 Memcache删除经常不使用或需要空间的密钥。

构建密钥并存储中小型数据可以获得最佳效果。

Memcache key: locale/domain1/key1/1
Memcache value: 'value1-1'

每当某些内容发生变化时,您都不必将整个数据块写回内存缓存实例。

此外,如果您使用多台服务器,数据会更好地分布在服务器上,因为它可以将整个区域设置部分分散到多台服务器上。

如果您有两台服务器,则memcached客户端会从密钥计算数值并对其执行简单计算(例如,模数),以确定是否应将值存储在第一个或第二个已配置的memcached实例上

另见:   - Memcached best practices - small objects and lots of keys or big objects and few keys?   - http://www.ibm.com/developerworks/library/os-memcached/