如果我缓存了mysql查询数据,例如数量的配置文件视图,如果数据已被更改,或者在数据的到期时间之前是否已将新数据输入表中,该怎么办?缓存数据。我应该更新旧的缓存数据吗?防止此问题的最佳方法是什么?我正在使用laravel,一个php框架。 memcached是否在laravel中解决了这个问题?在防止此类问题时,采用什么方法或正确的laravel命令?
答案 0 :(得分:1)
这不是问题。它的缓存。使用缓存数据时,您希望数据可能不是最新的。根据您的系统,您可以设置缓存生命周期以调整您的需求。对于某些系统,缓存可能仅在1分钟内有效,而对于其他系统,它甚至可以在一天内有效。
如果新数据来自您的应用程序,在将新数据插入数据库时,您可以删除特定表的缓存,但这通常不那么容易。这可能取决于您的系统架构和缓存使用的复杂性。
您还应该考虑个人资料视图的数量是否真的如此重要以使其保持最新状态。如果您认为是 - 只需在数据库中增加配置文件视图编号时,删除此配置文件的缓存,但根据这种情况发生的频率,可能会导致您的缓存根本不会被使用(例如,如果这个数字是每2-3秒更新一次。
所以一般情况下 - 如果你想要最新的数据,根本不使用缓存,如果你使用缓存你同意某些数据不是最新的。