redis怎样实现联合查询
1、用户表(UserInfo):Id、UserName、UserPwd
2、角色表(RoleInfo):Id、RoleName
3、菜单表(MenuInfo):Id、MenuName
4、用户角色表(UserRole):Id、UserId、RoleId
5、角色菜单表(RoleMenu):Id、RoleId、MenuId
类似这样,redis怎么联合查询呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
经典例子:
KV存储表:用户:用户ID、用户名等
KV存储表:角色:角色ID、角色名称等
KV存储表:用户角色关系:用户ID、角色ID、创建日期等几个
依照上面的这种做法,查关系表得出所有的角色ID,如果角色ID就是角色KEY,那么再去查角色数据,十分容易。
你问的问题就像如何在两个map之间进行联合查询,答案就是不可能。
只能是存储的时候考虑到取出的结构
依靠合理设计角色权限的kv结构可以在redis中代替联合查询。也就是说数据库和redis可以是不同的存储结构,如果redis存储结构和数据库存储结构相同,那么你得多余的设计多个key来代替联合查询
redis是key-value数据库,不存储表,所以没有联合查询之说