mysql 数据 迁移到redis
2017-07-28 17:58
603 查看
首先:
1、创建表:
MySQL数据表结构:
CREATE TABLE events_all_time (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
action varchar(255) NOT NULL,
count int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (id)
);
2、
Redis存储结构:
HSET events_all_time [action] [count]
下面是重点,能过下面SQL语句将MySQL输出直接变更成redis-cli可接收的格式:
SELECT CONCAT(
"*4\r\n",
'$', LENGTH(redis_cmd), '\r\n',
redis_cmd, '\r\n',
'$', LENGTH(redis_key), '\r\n',
redis_key, '\r\n',
'$', LENGTH(hkey), '\r\n',
hkey, '\r\n',
'$', LENGTH(hval), '\r\n',
hval, '\r'
)
FROM (
SELECT
'HSET' as redis_cmd,
'events_all_time' AS redis_key,
action AS hkey,
count AS hval
FROM events_all_time
) AS t
格式说明如下:
*4 #表示有4个参数
$4 #表示“参数”有三个字节("HSET"字符串为4个字节)
hset #执行的命令
$8 # key有 8个字节
wolys101 #key对应的值
$6 #field对应的长度
passwd #field对应的值
$12 # value的长度
wolysopen111 #value的值
# 一条语句结束
每行默认以 \r\n 结尾
同时在执行玩一行后,以 \r\n 代码一条语句结束
3、
然后用管道符重定向输出即可:
cat 2.txt | redis-cli --pipe
注意:第三部可能遇到问题,如果提示redis-cli不是命令。window 下需要配置redis环境变量
参考连接:
将MySQL数据迁移到Redis: http://www.ttlsa.com/database/mysql_data_will_be_migrated_to_redis/
redis pipe大数据量导入: http://hjy2099.iteye.com/blog/2224770
使用reids-cli --pipe导入redis protocol文件数据: http://f.dataguru.cn/thread-197777-1-1.html
redis 教程: https://redis.io/topics/mass-insert
1、创建表:
MySQL数据表结构:
CREATE TABLE events_all_time (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
action varchar(255) NOT NULL,
count int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (id)
);
2、
Redis存储结构:
HSET events_all_time [action] [count]
下面是重点,能过下面SQL语句将MySQL输出直接变更成redis-cli可接收的格式:
SELECT CONCAT(
"*4\r\n",
'$', LENGTH(redis_cmd), '\r\n',
redis_cmd, '\r\n',
'$', LENGTH(redis_key), '\r\n',
redis_key, '\r\n',
'$', LENGTH(hkey), '\r\n',
hkey, '\r\n',
'$', LENGTH(hval), '\r\n',
hval, '\r'
)
FROM (
SELECT
'HSET' as redis_cmd,
'events_all_time' AS redis_key,
action AS hkey,
count AS hval
FROM events_all_time
) AS t
格式说明如下:
*4 #表示有4个参数
$4 #表示“参数”有三个字节("HSET"字符串为4个字节)
hset #执行的命令
$8 # key有 8个字节
wolys101 #key对应的值
$6 #field对应的长度
passwd #field对应的值
$12 # value的长度
wolysopen111 #value的值
# 一条语句结束
每行默认以 \r\n 结尾
同时在执行玩一行后,以 \r\n 代码一条语句结束
3、
然后用管道符重定向输出即可:
cat 2.txt | redis-cli --pipe
注意:第三部可能遇到问题,如果提示redis-cli不是命令。window 下需要配置redis环境变量
参考连接:
将MySQL数据迁移到Redis: http://www.ttlsa.com/database/mysql_data_will_be_migrated_to_redis/
redis pipe大数据量导入: http://hjy2099.iteye.com/blog/2224770
使用reids-cli --pipe导入redis protocol文件数据: http://f.dataguru.cn/thread-197777-1-1.html
redis 教程: https://redis.io/topics/mass-insert
相关文章推荐
- 利用管道完成数据从MySQL到Redis的高效迁移
- 将MySQL数据迁移到Redis
- 将MySQL数据迁移到Redis
- 将MySQL数据迁移到Redis
- 将MySQL数据迁移到Redis
- mysql迁移之巨大数据量快速迁移方案
- 不同版本mysql数据迁移过程所遇到的问题及解决办法
- php实现redis消息队列将数据保存到mysql
- Can't find file: './mysql/plugin.frm' (errno: 13)[mysql数据目录迁移错位]错误解决
- HBase——使用Put迁移MySql数据到Hbase
- mysql数据文件迁移到新的硬盘分区的方法
- [置顶] mysql迁移到REDIS过程
- windos下mysql迁移到LINUX数据冷备份及恢复
- mysql大批量数据迁移的坑
- MySQL表中数据的迁移
- mysql数据存储目录的迁移
- 一步完成 MySQL 向 Redis 迁移
- 迁移 RDS for MySQL 数据到本地 MySQL
- SQL Server to MySQL 数据迁移
- MySQL表结构复制、表数据迁移以及临时表、视图创建