目前在做一个系统,对于每个用户的权限控制的比较严,需要控制到按钮级别,所以取出来的权限数据会比较大,现在不知道用什么方法来读取这一部分的数据比较好,已知的方法有三种:
        一种是存放到session中,但是这样貌似会增加服务器的内存开销
        另一种是放到客户端的cookies中,但是需要控制到按钮的话,貌似数据量比较大,而cookies的存放长度好像是有限制的,估计会放不下
        还有一种就是每次访问页面的时候直接从数据库读取,但是这样又会对数据库造成压力
        请教各位达人,该如何处理这个问题?或者还有更好的解决方案是我不知道的,求教!

解决方案 »

  1.   

    是不是可以放在redis中
      

  2.   

    放在redis缓存数据库中缓存起来
      

  3.   

    redis啊
      

  4.   

    这个肯定放在redis里 
      

  5.   

    我用的mysql,我再用个redis专门用来存临时的权限数据?
      

  6.   

    利用mysql的缓存机制,登录的时候查一次?之后再查也不怎么耗资源了?
      

  7.   

    使用shiro框架,你把按钮这些设计成权限表,shiro会帮你处理权限问题,它控制权限会去数据库查,然后存放在缓存中
      

  8.   

    正常是数据放在数据库中,登录信息和权限id存入会话中,做过滤和判断,正常几千用户是可以承受的,用户过多就得考虑服务器开销,那就是redis缓存,以上都是数据库读写造成的开销,但是会话或cookie是少不了的,权限设计要合理,用户表和权限表,会话中中放个dto对象,所以不存在过长的情况