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