最近在做权限访问的封装,我们的权限分为用户(角色),对象,操作,行级4个层次。在权限数据方面,我们的处理方式是一次性获取相关权限数据(SQL比较复杂一点),并按对象,操作,行级组织成层次结构,然后对这部分数据进行了缓存,而且是客户端和服务器端同时缓存,这样做虽然便于用户权限访问方法的处理,但也有个问题,有些权限数据其实访问的频度不是很高,特别是行级部分,整个用户在线期间都不会访问一次。而且这种处理方式对于sql的技巧要求相当高,其实也是不便于以后维护的。另外一种方式,当然是可以不缓存权限数据,可以根据需要实时访问数据库权限设置,而且操作和行级分开处理,这样,sql语句相对简单,对内存的要求也降低了很多。但由于每个页面,以及很多服务函数都需要进行权限检查,也会造成数据库访问比较频繁,而且特别不利的是对于silverlight这种异步处理的模式,增加了权限判断逻辑的书写复杂度。权衡了两种利弊,我们还是选择了缓存。
权限数据的缓存探讨
最新推荐文章于 2023-04-27 10:25:21 发布