Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
283 views
in Technique[技术] by (71.8m points)

redis. how set key name with empty string (not empty value)

I'm making Redis client with swift.
How can i make key name with empty string. (not empty value)

in redis-cli.
I can make key name with empty string.

    127.0.0.1:6379> set "" "stringValue"
    OK

but, I am using socket to connect Redis server.
and send command, I got error.

    telnet 127.0.0.1 6379
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    
    set "" "stringValue"
    -ERR wrong number of arguments for 'set' command

please help me.

question from:https://stackoverflow.com/questions/65880425/redis-how-set-key-name-with-empty-string-not-empty-value

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You used the inline command to send command to Redis, which does not work with binary data, or data which has 0 length or contains whitespace.

Instead, you should use the more complicated form: *3 $3 set $0 $3 val

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
*3
$3
set
$0

$3
val
+OK

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...