redis命令行查看中文不乱码的方法(十六进制字符串处理)

时间:2022-05-14 09:01:37

redis命令行查看中文不乱码

Redis在使用命令行操作时,如果查看内容中包含中文,会显示16进制的字符串”\xe4\xb8\xad\xe5\x9b\xbd”

?
1
2
3
4
127.0.0.1:6379> set k1 '中国'
OK
127.0.0.1:6379> get k1
"\xe4\xb8\xad\xe5\x9b\xbd"

如果想要看到的中文不乱码,解决方案有两种:

一、使用echo

?
1
2
$ echo -e `redis-cli get k1`
中国

二、redis-cli 后面加上–raw

?
1
2
3
$ redis-cli --raw
127.0.0.1:6379> get k1
中国

下面给大家详细介绍关于Redis利用十六进制字符串处理的相关示例,如下:

Redis的在使用的过程中有中文的内容都是以十六进制的形式存储的,所以在使用redis-cli客户端连接时如果是内容中有中文的部分都会以十六进制的形式显示,因此查询redis中的数据内容时就有点不太方便,其实在Unix系统下可以把查到的十六进制内容用echo中的“-e“参数用来转换所查询到的十六进制内容,如下:

?
1
2
3
4
5
127.0.0.1:6379> get test1
"test\xe6\x8c\x81\xe4\xb9\x85\xe5\x8c\x96"
127.0.0.1:6379> quit
[root@localhost ~]# echo -e "test\xe6\x8c\x81\xe4\xb9\x85\xe5\x8c\x96"
test持久化

此外在使用redis-cli客户端时还可以使用redis-cli客户端本身的“--raw”参数在连接redis时用来输出原始内容:

?
1
2
3
[root@localhost ~]# redis-cli --raw     
127.0.0.1:6379> get test1
test持久化

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。