【发布时间】:2010-11-01 08:36:10
【问题描述】:
Memcached 提供缓存过期时间选项,指定对象在缓存中保留多长时间。 假设所有写入都通过缓存我不明白为什么人们会想要从缓存中删除一个对象。换句话说,如果所有的写操作都在 DB 之前更新缓存,那么缓存永远不会包含一个过时的对象,那为什么要删除它呢?
一个可能的论点是,如果从不删除对象,缓存将无限增长,但 memcached 允许您指定最大大小。一旦达到这个大小,memcached 就会使用最近最少使用 (LRU) 算法来确定要删除哪些项目。总而言之,如果配置了合理的最大大小,并且所有写入都通过缓存,那么为什么要在一定时间后使对象过期?
谢谢, 唐
【问题讨论】:
标签: language-agnostic caching memcached