将json值从文件设置为redis
我有一个bash.sh脚本:
#!/usr/bin/env bashval=$(cat ../my-microservice/conf/config.json)
echo "set my-microservice-config ${val}" | redis-cli
其中config.json:
{ "key" : "value"
}
当我运行它时,我得到:
ERR未知命令’}’
如何从json文件正确设置json值?
回答:
如果你正在尝试设置 字符串 的值,my-microservice-
config关键看你的JSON文件的内容(或其他任何与此有关的,包括二进制),最简单的方法是使用-x
选项redis-
cli来
逐字的命令, 。例如:
$ redis-cli -x set my-microservice-config < config.jsonOK
对于您的示例,它将存储:
$ redis-cli get my-microservice-config"{\n \"key\" : \"value\"\n}\n"
要存储JSON数据的紧凑表示形式,可以jq .
与
-c
flag一起使用:
$ jq -c . config.json | redis-cli -x set my-microservice-configOK
$ redis-cli get my-microservice-config
"{\"key\":\"value\"}\n"
请注意,Redis本机不支持JSON,但是如果需要解释的JSON值(JSON数据类型),则可以使用ReJSON模块。
以上是 将json值从文件设置为redis 的全部内容, 来源链接: utcz.com/qa/422760.html