【发布时间】:2012-10-31 00:20:58
【问题描述】:
好的,我有一些关于 Memcache 的奇怪问题。我的缓存技术的整个基本思想是将我的 PHP 脚本请求的数据保存在 Memcached 服务器中。我和我的团队面临的主要问题是,有时保存大量数据有时会超过 Memcached 中项目数据大小的 1MB 限制。 为了进一步解释该方法,请想象以下内容: 我们有很多数据来配置某个对象,并且这些数据包含很多文本和数字……等等。我们需要保存这些对象中的近 200 个项目,所以我们采用的第一种方法是将整个 200 个对象缓存到 Memcached 中的一个大项目中。该项目可能超过 1Mb 的限制,因此我们认为我们可以采用一种新方法。 我们采用的新方法是将配置对象的数据分解为更小的构建块(并且由于我们不使用同一页面中的所有数据),然后我们将使用更小的构建块来准确获取我们将在该特定页面中使用的数据。
问题如下: 当您获得更大的数据时,GET 速度是否会发生变化?或者,Memcached 服务器并行处理的请求数量的限制是否会妨碍第二种方法,因为我们将使用多重 GET 来获取配置对象的多个构建块?
我知道这是一个奇怪的问题,但它对于我们正在采用的新方法至关重要,因为它将决定我们将使用的构建块的大小以及我们是否会在需要时向其中添加数据到。
编辑 1: 请记住,我们可以在第二种方法中使用 MULTIGET 函数,这样我们就不必连接到 Memecached 并等待我们获得的每一位数据的响应。因此将使用并行请求来获取多个密钥。
【问题讨论】:
标签: php optimization memcached