Redis 二进制安全
针对:字节流、字符流 redis数据是字节存储的
是什么?在redis进程与外界交互的时候,redis只从socket里面拿字节流并没有拿字符流【为什么:字符是和编码格式对应的,如果redis初始是固定编码格式的话,再给客户端取值就可能因为编码不同而拿到错误的值或者乱码】
例如:当客户端编码是utf-8存储文字"中"以K1到redis,在修改客户端编码为GBK存储文字"中"以K2到redis
当我们在客户端编码为GBK的时候将两个存储的值获取的时候,redis取出字节值对应的的K2是正常值,取出字节值对应的K1就是乱码值
但当切换客户端编码为UTF-8时,k1就是正常值,而我们的k2就是乱码值
所以得出结论,我们的redis存储的是字节,并没有设定好返回的编码格式,所以在服务提供的时候,我们的请求端和服务端必须先统一好编码格式,不然得到的就会是乱码而不是正确的值。
即这也是redis的二进制安全机制,保障数据的准确性