linux下mysql数据导入到redis
自Redis 2.6以上版本起,Redis支持快速大批量导入数据,即Pipe传输。通过将要导入的命令转换为Resp格式,然后通过MySQL的concat()来整理出最终导入的命令集合,以达到快速导入的目的。
1.建立测试表
CREATE TABLE `order` (
`orderid` varchar(38) DEFAULT NULL,
`ordertime` datetime DEFAULT NULL,
`ordermoney` decimal(20,0) DEFAULT NULL,
`orderstatus` char(1) DEFAULT NULL,
`version` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
2.插入数据
INSERT INTO `order` VALUES ('', '2018-7-29 00:06:04', 45, '', 1);
INSERT INTO `order` VALUES ('', '2018-7-18 00:06:39', 46, '', 2);
INSERT INTO `order` VALUES ('', '2018-7-3 00:06:50', 12, '', 1);
3.编写查询脚本,并将该脚本保存成order.sql文件
SELECT CONCAT(
'*10\r\n', -- *表示数组,10表示数组元素个数*,\r\n是规定分隔符,10这个数字根据下面红底字段数量进行调整
'$', LENGTH(redis_cmd), '\r\n', redis_cmd, '\r\n', --$表示长字符串,LENGTH(redis_cmd)表示字符串长度,redis_cmd字符串变量
'$', LENGTH(redis_key), '\r\n', redis_key, '\r\n',
'$', LENGTH(hkey1),'\r\n',hkey1,'\r\n','$',LENGTH(hval1),'\r\n',hval1,'\r\n',
'$', LENGTH(hkey2),'\r\n',hkey2,'\r\n','$',LENGTH(hval2),'\r\n',hval2,'\r\n',
'$', LENGTH(hkey3),'\r\n',hkey3,'\r\n','$',LENGTH(hval3),'\r\n',hval3,'\r\n',
'$', LENGTH(hkey4),'\r\n',hkey4,'\r\n','$',LENGTH(hval4),'\r\n',hval4,'\r'
)
FROM (
SELECT
'HSET' AS redis_cmd,
CONCAT('order:info:',orderid) AS redis_key,
'ordertime' AS hkey1, ordertime AS hval1,
'ordermoney' AS hkey2, ordermoney AS hval2,
'orderstatus' AS hkey3, orderstatus AS hval3,
'version' AS hkey4, `version` AS hval4
FROM `order`
) AS t
4.执行导入命令
mysql -h host -uroot -p123456 test --default-character-set=utf8 --skip-column-names --raw < /usr/redis/order.sql | /usr/redis/redis-cli -h host -p 6379 -a 123456 --pipe #-h host -uroot -p123456 test 分别为:mysql远程地址,用户名,密码,数据库名
#/usr/redis/order.sql | /usr/redis/redis-cli 分别为sql文件和redis客户端文件目录的地址
#-h host -p 6379 -a 123456 分别为redis远程地址,端口,密码
linux下mysql数据导入到redis的更多相关文章
- linux下mysql 文件导入导出
最近在做mysql的数据导入导出得到的一些经验,记录下. 1.首先要开通导入导出的功能,需要设置一个mysql的配置 可以在 my.conf 文件的最后增加配置项 secure-file-priv=' ...
- Linux下MySql数据的导入导出
1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: mysqldump -u用戶名 -p密 ...
- linux下mysql数据库导入导出命令
首先linux 下查看mysql相关目录root@ubuntu14:~# whereis mysqlmysql: /usr/bin/mysql---- mysql的运行路径 /etc/mysql ...
- linux下mysql数据的导出和导入
导出整个数据库中的全部数据 1.在linux命令行下输入: mysqldump -u userName -p dabaseName > fileName.sql fileName.sql最好加上 ...
- Linux下mysql命令 导入 导出sql文件
导出数据库 直接使用命令: mysqldump -u root -p abc >abc.sql 然后回车输入密码就可以了: mysqldump -u 数据库链接用户名 -p 目标数据库 > ...
- Linux下MySQL 命令导入导出sql文件
导出数据库 直接使用命令: mysqldump -u root -p database >database.sql 然后回车输入密码就可以了: mysqldump -u 数据库链接用户名 -p ...
- linux下MySQL安装登录及操作
linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...
- Sqoop将mysql数据导入hbase的血与泪
Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天) 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: https://my.oschina.net/yunsh ...
- linux 下 mysql 常用命令
linux 下 mysql 常用命令 阅读目录 ====================== 1.开启和关闭 1.1.开启 1.2.关闭 1.3.重启 2.登录 2.1.密码明文 2.2.密码密文 ...
随机推荐
- java代码连接oracle数据库的方法
oracle连接数据库的方式和mysql是大同小异的,主要的困难点在于oracle的数据库驱动包和依赖只有官方提供,如果你是用maven添加依赖的话,需要自己从官网下载jar包安装到你本地的maven ...
- Eclipse的断点调试
A:Debug的作用 调试程序 查看程序执行流程 B:如何查看程序执行流程 什么是断点: 就是一个标记,从哪里开始. 如何设置断点: 你想看哪里的程序,你就在那个有效程序的左边双击即可. 在哪里设置断 ...
- 15 Flutter BottomNavigationBar自定义底部导航条 以及实现页面切换 以及模块化
效果: /** * Flutter BottomNavigationBar 自定义底部导航条.以及实现页面切换: * BottomNavigationBar是底部导航条,可以让我们定义底部Tab ...
- linux简单命令7--管道符和通配符
”&&“和管道符“|”不一样. ---------------------------------------------------------通配符---------------- ...
- VLC播放器web插件接口(Part1)
本文转自:http://blog.csdn.net/xiaoxiaoxuewen/article/details/7698803Embed tag attributesTo embed the plu ...
- 通过举例了解java中的流
Java流结构介绍: Java所有的流类位于java.io包中,都分别继承字以下四种抽象流类型. 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream W ...
- IEnumerable和IQueryable口的区别
IQueryable: 动态表达式树拼接查询语句,把拼接后查询语句进行执行:Execute触发,延迟加载IEnumerable:对内存中的数据,动态拼接查询语句,进行查询:ToList触发,延迟加载: ...
- Python——使用Notepad++运行
安装 安装python,安装完后找到python.exe,记录绝对路径,我的是:E:\log\python-3.7.4\python.exe 设置 用Notepad++打开python脚本,按F5会弹 ...
- 1-3 RHEL7操作系统的安装
RHEL7操作系统的安装 本节所讲内容: q RHEL7.2操作系统的安装 第1章 RHEL7系统安装 1.1 安装软件准备: 需要的软件如下: Vmware workstation 12(含注册码 ...
- iOS-同步下载与异步下载
一.同步下载(交互不好,容易出现卡死现象,一般下载数据较小或有特定需求才使用). 发送同步请求后,程序将停止用户交互,直到服务器返回数据完成后,才进行下一步的操作. //第一步:创建URL NSURL ...