thinkphp5 的文件缓存 和 直接保存到数据库的效率问题.

发布于 2022-09-11 20:18:20 字数 290 浏览 17 评论 0

现在的场景是,一个用户要得到一个第三方的access_token , 这个access_token 有效期2 小时 ,tp5 里面有个Cache::set() 方法 , 我准备用 Cache::set('user_'.$uid , 1 , 60602); // 缓存2小时 , 但是看 框架cache 目录里面,一个缓存名称就是一个文件 , 意味着 我如果有 5万用户 , 就有 5万个 缓存文件 ....... ,感觉效率有点问题.
所以 问题是, 是直接把 时间戳 和 用户uid 保存到数据库 还是 直接用 这个 文件缓存呢 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

娇纵 2022-09-18 20:18:20

用redis把 别纠结了。我记得tp5的cache是可以设置存储方式的,把驱动改成redis 打一个服务就好了

べ繥欢鉨o。 2022-09-18 20:18:20

access_token应该是不区分用户的,都可以用。

当爱已成负担 2022-09-18 20:18:20

缓存可以设置为内存型数据库,并非只有文件,
你可以设置为 Redis 或者 Memcached

向日葵 2022-09-18 20:18:20

如果这个access_token是全站通用的,放文件里就行。
如果每个用户单独一个且只有用户端用得到,简单的做法是在数据库和session里都存一份,用的时候先从session里取。
其他的方法就是使用redis之类的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文