Oracle 系统管理 - Linux 系统 - Backtrack 5 - 安全 - Juniper 技术 - Cisco 技术 - 思科模拟器 - Cisco 认证 - Cisco ios 下载

您现在的位置是:Docker > Jenkins > redis-cli 中使用中文

redis-cli 中使用中文

时间:2018-08-10 09:58  来源:未知  阅读次数: 复制分享 我要评论

先直奔主题,看实战代码(^_^)

[root@mongodba ~]# redis-cli 
127.0.0.1:6379> set msg "Spark 和 Hadoop 你好"

OK

127.0.0.1:6379> get msg
"Spark \xe5\x92\x8c Hadoop \xe4\xbd\xa0\xe5\xa5\xbd"
127.0.0.1:6379> 

127.0.0.1:6379> STRLEN msg
(integer) 23


从上面我们可以看出get无法显示正常的中文字符,同样STRLEN命令显示了msg键的值的字节长度为23个字节,却我们不是常见的字符长度了。

如果要在redis-cli中使用中文时,必须打开--raw选项,才能正常地显示中文
[root@mongodba logs]# redis-cli  --raw
127.0.0.1:6379> get msg
Spark 和 Hadoop 你好


说明:
一个英文字符只需要使用单个字节来储存,而一个中文字符却需要使用多个字节来储存。
我们都知道Redis里面的setrange和getrange所使用的索引都是根据字节而不是字符来编排的,它们都只会在
字符为单个字节的情况下才可以正常使用,而我们储存类似中文的多个字节表示的字符时,这些命令就不好使用了。
相关资讯