Redis使用SCAN和Glob模式匹配密钥以获取命名空间内的项目集合

时间:2017-03-31 10:39:59

标签: redis glob

我有一个像这样的redis数据结构:

practice:1:patient:{UUID}:reports:{UUID}
practice:1:patient:{UUID}:reports:{UUID}:notes:{id}
practice:1:patient:{UUID}:reports:{UUID}:notes:{id}:fieldValue:{id}
practice:1:patient:{UUID}
practice:1:patient:{UUID}:variables
practice:1:patient:{UUID}:documents

我试图查询具体的patient:{UUID}密钥,但它通过glob模式匹配证明是困难的。

  1. 我应该在添加患者钥匙的情况下创建一个集practice:1:patients吗?
  2. 是否有一个有效的glob模式可以隔离该命名空间?
  3. 是否有更好的方法来查询集合(例如,还应用于报表,备注等)/我是否必须为包含该集合的键的每个命名空间创建一个集合?

1 个答案:

答案 0 :(得分:1)

扫描整个密钥空间以检索几个密钥效率低下 - 使用不同的数据结构来存储患者数据(例如哈希)和/或集合(您的1和3)以执行快速查找。