memcached在数据发生变化时的表现如何?

时间:2012-02-21 06:36:37

标签: php memcached

阅读使用PHP的memcached的this brief example,我想知道memcached如何知道数据请求何时需要实际来自数据库而不是来自缓存。

3 个答案:

答案 0 :(得分:3)

它没有,你的代码是这样做的。在大多数情况下,你会做这样的事情:

key = /* build cache key somehow */
data = memcache.get(key)
if data is null:
  data = /* read data from database */
  cached.set(key, data)

// now you can use the data

答案 1 :(得分:3)

没有。它归结为您的缓存策略。所有形式的缓存都是如此,在获取最新数据和快速获取某些数据之间进行权衡。如果需要使数据保持最新,则在更新原始文件时使缓存无效(删除)。如果性能更重要,请让缓存自行过期,此时它将被更新。或者介于两者之间的某个地方。这取决于你的限制和目标。

答案 2 :(得分:1)

我认为你需要编写那种逻辑。

e.g。更新数据库时,请更新与该密钥关联的memcached值,或使该密钥过期。