mysql数据库向redis导入的一些常见问题

新版统一请求协议

新版统一请求协议在 Redis 1.2 版本中引入, 并最终在 Redis 2.0 版本成为 Redis 服务器通信的标准方式。

你的 Redis 客户端应该按照这个新版协议来进行实现。

在这个协议中, 所有发送至 Redis 服务器的参数都是二进制安全(binary safe)的。

以下是这个协议的一般形式:

*<参数数量> CR LF
$<参数 1 的字节数量> CR LF
<参数 1 的数据> CR LF
...
$<参数 N 的字节数量> CR LF
<参数 N 的数据> CR LF

译注:命令本身也作为协议的其中一个参数来发送。CR --> \r ; LF--> \n

举个例子, 以下是一个命令协议的打印版本:

*3
$3
SET
$5
mykey
$7
myvalue
导入SQL模板:

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。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值