Redis-数据类型STRING的SET有限制吗



我正在使用mac终端上的命令行接口设置一个长字符串。

设置mystring"[长字符串]"

现在的问题是这个。当我从文本编辑器将长字符串复制到cli中时,粘贴的字符串在4066个字符处被截断。

我以为这可能是mac终端的复制/粘贴缓冲区大小,但我可以在redis-cli之外粘贴更长的Sting。

在redis中,它没有接近512兆字节的字符串限制。

这与另一个问题类似,但步骤不同。Redis在取回序列化对象时对字符串进行剪切。找不到任何限制

谢谢!

redis-cli使用linenoise自定义库进行终端输入,该库恰好具有4096字节的硬编码输入缓冲区大小:linenoise.c:101。您可能需要将Redis命令写进一个文件中,并使用redis-cli --eval执行它。

您可以使用-x选项从stdin 读取值

redis-cli -x -h localhost -p 6379 set my-key < /path/to/file.txt

使用APPEND命令的一种更简单的方法。尽管需要付出一些努力才能打破这根长长的绳子。这可以用记事本++来完成。

127.0.0.1:6379> set greet hello
OK
127.0.0.1:6379> APPEND greet " world"
(integer) 11
127.0.0.1:6379> get greet
"hello world"

最新更新