导出 mysql 数据到 redis
程序员文章站
2023-11-21 16:12:52
决定你要导入到 redis 的数据类型 假设我的表 t_user 的结构为 | 列名 | 注释 | 类型 | | | | | | name | 名称 | varchar | | idcard | 身份证号 | varchar | | phone | 手机号 | varchar | 目前的需求为需要给 ......
决定你要导入到 redis 的数据类型
假设我的表 t_user 的结构为
列名 | 注释 | 类型 |
---|---|---|
name | 名称 | varchar |
idcard | 身份证号 | varchar |
phone | 手机号 | varchar |
目前的需求为需要给手机号和身份证号做一个映射关系,那么我可以采用 string 类型,使用 set 命令设置数据
拼接 sql 转换成 redis 的 aof 数据格式
将下面的 sql 脚本保存成文件 user.sql
select concat( "*3\r\n", '$',length(t.redis_cmd),'\r\n',t.redis_cmd,'\r\n', '$',length(t.skey),'\r\n',t.skey,'\r\n', '$',length(t.svalue),'\r\n',t.svalue,'\r' ) as redissql from ( select 'set' as redis_cmd ,phone as skey ,idcar as svalue from t_user where name is not null and standno is not null ) t
注: null 数据是插入不进去的, null 数据要么过滤掉,要么替换成别的
恢复数据到 redis
执行 sql ,插入redis 的 2 号数据库 ,使用 pipe 方式
mysql -uroot -p123456 <db> --skip-column-names --default-character-set=utf8 --raw < user.sql | redis-cli -a <password> --pipe -n 2
一点小推广
创作不易,希望可以支持下我的开源软件,及我的小工具,欢迎来 gitee 点星,fork ,提 bug 。
excel 通用导入导出,支持 excel 公式
博客地址:
gitee:
使用模板代码 ,从数据库生成代码 ,及一些项目中经常可以用到的小工具
博客地址:
gitee:
上一篇: C#中Shear的用法实例