新版统一请求协议
新版统一请求协议在 Redis 1.2 版本中引入, 并最终在 Redis 2.0 版本成为 Redis 服务器通信的标准方式。
你的 Redis 客户端应该按照这个新版协议来进行实现。
在这个协议中, 所有发送至 Redis 服务器的参数都是二进制安全(binary safe)的。
以下是这个协议的一般形式:
译注:命令本身也作为协议的其中一个参数来发送。CR --> \r ; LF--> \n
举个例子, 以下是一个命令协议的打印版本:
SELECT CONCAT(
"*4\r\n",
'$', LENGTH(redis_cmd), '\r\n',
redis_cmd, '\r\n',
'$', LENGTH(redis_key), '\r\n',
redis_key, '\r\n',
'$', LENGTH(hkey1), '\r\n',
hkey1, '\r\n',
'$', LENGTH(hval1), '\r\n',
hval1, '\r'
)
FROM (
SELECT DISTINCT 'HSET' AS redis_cmd,CONCAT("authInfo:",platId) AS redis_key,loginName AS hkey1,
CONCAT('{"@class": "com.allcam.common.model.AuthInfo","platId":"',platId,'","loginName":"',IFNULL(loginName,''),'","password":"',IFNULL(passWord,''),'"}') AS hval1
FROM tbl_camera_info
) AS t
注意:如果是多条信息,转换后的末尾不能是'\r\n',只能是'\r',否则报错。
如果是集群导入,可能会出出现问题
失败副本61个,失败47个
然后在选择其他节点导入就可以可以了,通过hashKey算出来,需要导入那个hashsolt。