我最近发现redis有一个property graph model实现称为 redis graph这太棒了。
对于我的用例,我真正怀念的一件事是“观察”数据的能力。在典型的 Redis 数据结构中,我可以启用 Keyspace notifications或client tracking并收到有关我感兴趣的数据突变的通知,从服务器提取数据或将我的本地缓存标记为“脏”。
我不知道这对于属性图来说是如何工作的,因为关系要复杂得多(也是这方面的关键功能),但是有没有办法观察或同步存储在 Redis 图中的数据?
最佳答案
可以为这样的模块启用键空间通知:
redis.cloud> CONFIG SET notify-keyspace-events AKE
“A”部分包括模块 - 如果该模块发布了任何内容。不幸的是,我用 RedisGraph 尝试过,但没有成功。
您可以在下面重现我的测试。在一个终端中,我启动了 redis-cli 并执行了以下操作:
127.0.0.1:6379> PSUBSCRIBE *
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "*"
3) (integer) 1
在另一个例子中我这样做了:
127.0.0.1:6379> GRAPH.QUERY test 'CREATE (n:foo { alfa: 12, bravo: "test" })'
1) 1) "Labels added: 1"
2) "Nodes created: 1"
3) "Properties set: 2"
4) "Cached execution: 0"
5) "Query internal execution time: 0.204701 milliseconds"
127.0.0.1:6379> GRAPH.QUERY test 'MATCH (n) RETURN n'
1) 1) "n"
2) 1) 1) 1) 1) "id"
2) (integer) 0
2) 1) "labels"
2) 1) "foo"
3) 1) "properties"
2) 1) 1) "alfa"
2) (integer) 12
2) 1) "bravo"
2) "test"
3) 1) "Cached execution: 0"
2) "Query internal execution time: 1.106191 milliseconds"
127.0.0.1:6379> GRAPH..DELETE test
"Graph removed, internal execution time: 0.064498 milliseconds"
第一个终端没有返回任何响应。
关于redis - 观察 Redis 图表中的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74616754/