静态值存储
该库支持存储和检索静态值,此功能可用于处理 API 凭据或缓存查询结果。
限定名称 | 类型 | 版本 |
---|---|---|
|
|
|
|
|
|
|
|
|
本节包含以下子部分
使用 API 凭据
以下示例假设我们在 APOC 配置文件 (conf/apoc.conf
) 中有以下条目
apoc.static.twitter.bearer=ABCDEF apoc.static.twitter.url=https://api.twitter.com/1.1/search/tweets.json?count=100&result_type=recent&lang=en&q=
以下返回
apoc.static.twitter.bearer
值RETURN apoc.static.get("twitter.bearer") AS value
值 |
---|
"ABCDEF" |
以下返回所有具有
twitter
前缀的值RETURN apoc.static.getAll("twitter") AS value
值 |
---|
{"bearer":"ABCDEF","url":"https://api.twitter.com/1.1/search/tweets.json?count=100&result_type=recent&lang=en&q="} |
以下存储一个内存中的值,该值在服务器的整个生命周期内有效
CALL apoc.static.set("twitter.user", "Michael")
值 |
---|
null |
缓存查询结果
我们还可以使用这些过程和函数来缓存查询的结果。
以下创建了一个示例图
CREATE (:Person {name: "Mark"})
CREATE (:Person {name: "Michael"})
CREATE (:Person {name: "Karin"})
CREATE (:Person {name: "Jennifer"})
以下查找名称不以字母
m
开头的用户,并将它们存储为静态值MATCH (p:Person)
WHERE not (p.name starts with "M")
WITH collect(p) AS people
CALL apoc.static.set("cached.people", people)
YIELD value
RETURN value
以下从
cached.people
静态值中检索这些用户UNWIND apoc.static.get("cached.people") AS person
RETURN person, labels(person) AS label, apoc.meta.cypher.type(person) AS type
用户 | 标签 | 类型 |
---|---|---|
{"name":"Karin"} |
["Person"] |
"NODE" |
{"name":"Jennifer"} |
["Person"] |
"NODE" |