VIEW.CREATE
在若干索引之上声明一个组合视图,并指定 ORDER BY(catalog 变更,由 sidecar 持久化)。
VIEW.CREATE name QUERY tree ORDER BY index [DESC] [MODE virtual|materialized] [TOPK k] [VIA template] (tree = '( AND|OR|DIFF sub sub )' | 'index RANGE min max' | 'index EQ value')
复杂度
调用本身 O(树的大小)。materialized 视图在下一次 tick 惰性构建(一次完整的 eval_tree 加一次 O(M log M) 排序);virtual 视图则永远不构建任何东西。
复杂度与兼容性是从 kevy 的实现里读出来的,不是抄 Redis 的文档。有几条确实不一样 —— 它们看起来像笔误,但不是。
与 Redis 的兼容性
kevy 独有
kevy 独有:Redis 没有对应物。视图既不是存储的查询,也不是 join —— 它是一棵架在已声明索引之上的命名组合树,只存成员关系与顺序,从不存字段值。
另见
VIEW.DROPVIEW.EXPLAINVIEW.LISTVIEW.QUERYVIEW.REBUILDVIEW.VERIFY