Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nosql 里亚克特殊钥匙_Nosql_Riak - Fatal编程技术网

Nosql 里亚克特殊钥匙

Nosql 里亚克特殊钥匙,nosql,riak,Nosql,Riak,我想通过REST将带有特殊字符(在我的例子中是斜杠)的密钥存储到Riak 如何说: 如果字段包含特殊字符,例如 (“+”、“-”、“/”、“[”、“]”、“(”、“)”、“:”或空格),然后围绕 用单引号括起短语,或用 反斜杠 但关注的是字段,而不是键。 我试图反斜杠,但不幸的是没有成功 我找不到有关此问题的任何信息。 有人知道如何在键中屏蔽特殊字符吗 示例(不起作用): 其中键为11111/2这与Riak无关,而是需要如何转义URL,以便服务器(包括Riak)不会将正斜杠解释为路径分隔符: P

我想通过REST将带有特殊字符(在我的例子中是斜杠)的密钥存储到Riak

如何说:

如果字段包含特殊字符,例如 (“+”、“-”、“/”、“[”、“]”、“(”、“)”、“:”或空格),然后围绕 用单引号括起短语,或用 反斜杠

但关注的是字段,而不是键。 我试图反斜杠,但不幸的是没有成功

我找不到有关此问题的任何信息。 有人知道如何在键中屏蔽特殊字符吗

示例(不起作用):


其中键为11111/2

这与Riak无关,而是需要如何转义URL,以便服务器(包括Riak)不会将正斜杠解释为路径分隔符:

PUT https://riak:8069/buckets/key/keys/11111%2F2
然后,您可以使用相同的方法检索它:

GET https://riak:8069/riak/key/11111%2F2
%2F
是使用时的
/
值-如果您的键包含在URL中被视为特殊字符的字符,则需要使用键执行此操作

您可以通过列出
密钥
存储桶中的密钥(在测试服务器上-不要在生产服务器上执行此操作,因为它非常昂贵)来验证此操作在Riak中是否正常工作:

在JSON输出的末尾,您将发现:

... "keys":[...,"11111/2",...]} 

我考虑过URL编码,但我想在本例中,密钥将是11111%2F2,而不是11111/2。因为它只会改变视图,而不会改变实际值。我说的对吗?没有-这就是为什么我在结尾添加了关于列出您的密钥的部分,以验证/证明Riak在密钥中存储的是实际的
/
,而不是
%2F
。还是我误解了你的要求?是的,你是对的。它存储为11111/2,未编码。谢谢没问题。如果您有任何问题,请随时直接在riak用户邮件列表上询问我们:
GET https://riak:8069/riak/key?keys=true
... "keys":[...,"11111/2",...]}