我最近对 memcache 的发现引起了一阵热潮,并为一切开辟了新的可能性。
现在,当有人注册我们的一项服务时,当我发送一封确认电子邮件时,我会在“令牌”表中创建“令牌”,该表具有设定的到期时间(通常为 3 天),以供他们验证他们的帐户。
然后,我每天都会执行一项 cron 作业,看看是否有任何逾期的内容,在这种情况下,它会删除令牌。
这是可以用 memcache 完成的吗?也许是一个更好的问题——这是否应该使用 memcache 来完成?
我最近对 memcache 的发现引起了一阵热潮,并为一切开辟了新的可能性。
现在,当有人注册我们的一项服务时,当我发送一封确认电子邮件时,我会在“令牌”表中创建“令牌”,该表具有设定的到期时间(通常为 3 天),以供他们验证他们的帐户。
然后,我每天都会执行一项 cron 作业,看看是否有任何逾期的内容,在这种情况下,它会删除令牌。
这是可以用 memcache 完成的吗?也许是一个更好的问题——这是否应该使用 memcache 来完成?
应该?不。Memcache 是一种临时内存缓存,这意味着它保存的任何数据都可能随时消失,或者至少您应该在这种假设下工作。即使内存缓存中根本没有存储任何内容,您的应用程序也应该可以正常运行。事实上,一种相当常见的测试技术是创建一个虚拟内存缓存,它根本不在缓存中存储任何数据。(它具有存储和检索数据的方法,但它们不做任何事情)一旦您对应用程序与虚拟缓存一起工作感到满意,然后您将其换出并放入真正的内存缓存中。
在实践中,它可能大部分时间都可以工作,因为除非您的计算机崩溃或内存不足,否则 memcache 不会因为感觉像而随意删除内容。但我认为将 memcache 用于这样的事情是不好的做法。