TripleCache - infoplus/docs GitHub Wiki
简介
Redis缓存
数据类型
enum TripleType {
user
dept
post
occupy
}
type User {
# 待完善
}
type Dept {
# 待完善
}
type Post {
# 待完善
}
type Occupy {
# 待完善
}
1. 用户
- KEY:
triple:user:{openid}
- 类型:string
2. 用户ID转换
- KEY:
triple:user.idmap:{principal}
- 类型:hash
- 哈希key:
UserPrincipalName@租户ID
- 哈希value:
openid
- KEY:
triple:user.idmap.reverse:{principal}
- 类型:hash
- 哈希key:
openid
- 哈希value: 1对1的账号主体为
UserPrincipalName@租户ID
,多值为 JSON List
3. 实体立方体
- KEY:
enterprise:{tenant}:cube:{type}
- 类型:hash
- 哈希key:该类型id,
openid
部门编码
岗位编码
- 哈希value: 对应实体 json
- 查询举例
- HVALS:获取租户下某种实体全集
- HLEN: 获取数量
- HGET:单实体查询
4. 关系立方体(切面)
- KEY:
enterprise:{tenant}:cube:plane:{type}:{id}
- 类型:hash
- 哈希key:三元组标识
$openid|$dept|$post
- 哈希value:关系json(occupy)
- 查询举例
- HVALS enterprise:{t1}:cube:plane:user:{u1}:用户u1的身份列表
5. 关系立方体(切线)
- KEY:
enterprise:{tenant}:cube:line.yz:{dept}:{post}
- 类型:hash,解释同切面。
- 含义:
- 关系立方体中 x轴为
user
,y轴为dept
,z轴为post
- line.yz 标识y、z轴切面的关系内容,即,指定部门和岗位下的三元组列表
UserFilter |
查询方式 |
dept:post |
HVALS cube:line.yz:{dept}:{post} |
dept |
HVALS cube:plane:dept:{dept} |
:post |
HVALS cube:plane:post:{post} |
::user |
HGET cube:user {user} |