php使用文件缓存菜单,和session缓存菜单谁效率更好

每次进入后台时都需要加载各种菜单,鉴于如果每次请求数据库会大量消耗资源,所以打算用两种缓存方式解决:
1.session
2.文件缓存
注:kv数据库后期才会考虑

但是每个用户的权限不同,所以菜单也不同,所以如果用session的方式会导致分配菜单后不能及时显示,得退出重新登录方可,如果用文件方式,即可分配菜单时删除缓存文件,以上两种方式希望大家能讨论讨论,提供点思路谢谢!

婷婷同学_
浏览 712回答 14
14回答

慕桂英3389331

最终选择了文件方式存储,感谢各位的回答

神不在的星期二

如果后台有多台服务器怎么办?

有只小跳蛙

就个人建议,更加建议使用缓存 使用缓存可以配合一些动态更新的套件实现某些数据更新时缓存即时更新 使用缓存后期可以直接切换底层持久化方案,不会带来更多的的代码改动 使用session涉及到如果用户重新登录时session一旦被更新则需要重新计算 ps: 文件缓存建议分层架构即,应用层表现为kv保存,菜单信息使用json这类的序列化方法作为v存在,底层使用文件储存的方式对应用层的kv数据进行保存

繁华开满天机

难道session不是文件存储吗

不负相思意

就我的后台系统说说,因为我大部分系统的后台都是有百八十人的各类型的用户在使用.先上方案:用户登录后=载入组别json+黑名单权限json=个人菜单.比如超市系统中的经理,一级管理,二级管理之类,店员,收银员,仓库管理员...之类的.通常确权清楚的情况下,直接就生成分组级别的json文件.而不是根据用户去生成,这样的话就很省开销了.但是有时候也有一些特殊情况,比如某个店员被禁止了某个权限从而禁止了某个菜单.这个时候,还是json文件的菜单,但是附带了一个被过滤权限的json.所以他显示的是过滤后的菜单.都是这样设计的,这么多年没有客户反映过问题.

ITMISS

如果用session的方式会导致分配菜单后不能及时显示,得退出重新登录方可,如果用文件方式,即可分配菜单时删除缓存文件 楼主说到分配权限不能及时更新的问题,其实与用文件缓存还是用session不是一回事。因为session实现的功能其实也是“缓存”,只要是缓存,就会存在“不及时”的问题,同样,只要你重新分配权限后及时更新缓存,那么,权限分配也就不会有“不及时”的情况出现。

大话西游666

session浪费服务器性能啊

Smart猫小萌

题主要的是解决办法,不是哪种存储方式好。ps:感觉你们都是来娱乐的咧。

眼眸繁星

session可以存储在文件或者Redis等其他缓存系统 这个问题并不是考虑菜单存储问题,而是考虑菜单是否全局存储并全局共享 通常做法是 session缓存用户登录权限 整个菜单进行缓存 根据权限,去对应的用户菜单
打开App,查看更多内容
随时随地看视频慕课网APP