我见过很多使用Cache来存储结果的插件,比如来自第三方api的结果,直接采用 缓存的结果,而不是再次向第三方服务器发送请求。
1。)但是,如果来自服务器的结果不时发生变化,情况会怎样。
2。)假设我们假设我们将用户登录尝试的次数保存到缓存中,我们将检查此计数 用于保护用户的帐户。即如果用户进行了5次错误的登录尝试,那么他/她的帐户将被锁定5分钟并允许 用户仅在5分钟后登录。
可能会出现这样的情况:
现在,用户已从一台计算机进行了3次登录尝试,计数将保存到缓存中(缓存名称将为username
)。
休息2次他从另一个系统进行的登录尝试,计数变为5然后它会显示一条消息“你已经完成了5次不正确的登录
尝试,请在5分钟后尝试。“
相反,我可以在这里使用会话来获得最佳效果。
在这种情况下,Cache的重要性在哪里?
请告诉我,先谢谢。
答案 0 :(得分:1)
1)如果您依赖更改,则不会缓存结果。有不同的API,一些APIS发送过期日期,结果可用于缓存结果。有时您根本不需要为每个请求获取新数据,然后您将其缓存。地理定位是一个很好的例子,几乎可以永久缓存。
2)这没有任何意义,如果您尝试从多个设备访问帐户,则无法使用会话。每个设备都将获得一个新的会话ID。但在这种情况下,我根本不会使用缓存引擎,而是将其写入users表,在任何情况下都需要查询表以获取登录数据。所以这只是每次尝试的更多写作。