thinkphp5 的文件缓存 和 直接保存到数据库的效率问题.
现在的场景是,一个用户要得到一个第三方的access_token , 这个access_token 有效期2 小时 ,tp5 里面有个Cache::set() 方法 , 我准备用 Cache::set('user_'.$uid , 1 , 60602); // 缓存2小时 , 但是看 框架cache 目录里面,一个缓存名称就是一个文件 , 意味着 我如果有 5万用户 , 就有 5万个 缓存文件 ....... ,感觉效率有点问题.
所以 问题是, 是直接把 时间戳 和 用户uid 保存到数据库 还是 直接用 这个 文件缓存呢 ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
用redis把 别纠结了。我记得tp5的cache是可以设置存储方式的,把驱动改成redis 打一个服务就好了
access_token应该是不区分用户的,都可以用。
缓存可以设置为内存型数据库,并非只有文件,
你可以设置为 Redis 或者 Memcached
如果这个access_token是全站通用的,放文件里就行。
如果每个用户单独一个且只有用户端用得到,简单的做法是在数据库和session里都存一份,用的时候先从session里取。
其他的方法就是使用redis之类的。