数据权限设计

来源:16-1 Redis分布式缓存引入与保存缓存功能实现

目科将

2019-06-12

我这边遇到一个问题,在系统中有一个最小数据单元item(数据控制实体),
1.用户之间可以相互授权自己的item,比如A用户有item_a1,itema2,item_a3;B用户有item_b1,item_b2,item_b3,C用户有Item_c1,
2.现在A用户把item_a1,B用户把item_b2授权给C用户;那么C用户有权限的数据单元集合有[item_a1,item_b2,item_c1];
现在有一个场景批量导入一批item的id用于在系统中查看,比如(item_a1_id,item_a2_id),如果针对这种场景做权限校验设计(真实场景下item数据会特别多),问下老师这样的业务需求场景如何设计权限及进行权限校验

写回答

1回答

Jimin

2019-06-12

你好,把这些数据落到redis里,需要确认权限时去redis里查就可以了。如果对实时性要求比较高,可以考虑数据入数据库同时更新redis里数据。如果实时性要求不是特别高,可以考虑每次查询时,先查缓存,没有时去数据库里取一波(某个人相关的所有)放到缓存里并定期失效。
这时还需要考虑一个点,就是redis使用的结构,最简单的是和数据库简单映射(可能要考虑双向映射),还可以考虑map结构,不同的设计使用不同的存储结构,都有各自优缺点,你可以尝试一下试试看。

0
0

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2260 学习 · 1347 问题

查看课程