阅读使用PHP的memcached的this brief example,我想知道memcached如何知道数据请求何时需要实际来自数据库而不是来自缓存。
答案 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值,或使该密钥过期。