如果我使用memcache将user_x的数据加载到内存中,这些数据将保持多长时间?
如果用户每年只登录一次,则内存中不需要此数据.
或者我是以错误的方式看待这个?
memcached FAQ涵盖了其中一些内容.
您可以在将来设置最多30天的到期时间.之后,memcached将其解释为日期,并在该日期之后使该项目到期.这是一个简单(但不起眼)的机制.
当memcached达到其内存限制时,它将首先自动使最旧/最少使用的条目到期.
memcached使用延迟过期,这意味着它不使用额外的cpu过期项.当请求一个项目(获取请求)时,它会检查过期时间,以查看该项目是否仍然有效,然后再将其返回给客户端.
类似地,当向缓存添加新项目时,如果缓存已满,它将在替换缓存中最少使用的项目之前查看要替换的过期项目.
你的缓存数据可能无效在任何时候因为这个原因.正如达斯汀指出的那样,它也可能永远存在.