在redis-cli中使用中文

来源:互联网 发布:三娃被软件缠故事 编辑:程序博客网 时间:2024/05/23 17:38
先直奔主题,看实战代码(^_^)

[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所使用的索引都是根据字节而不是字符来编排的,它们都只会在
字符为单个字节的情况下才可以正常使用,而我们储存类似中文的多个字节表示的字符时,这些命令就不好使用了。


0 0