理论基础部分:http://www.redis.cn/topics/mass-insert.html

几百上千万的数据建议使用pipe来完成导入。

1.windows 下数据导入命令:

type output.data | C:\Redis\redis-cli.exe -h "127.0.0.1" -p 6379 -a password --pipe

注意 : --help 可以查看相关的命令,  -n [db] 是转到相关的数据库  如: -n 3

2.生成文件相关的代码  C#

 FileStream fs = null;
if (!Directory.Exists(mroot))//如果不存在就创建文件夹
Directory.CreateDirectory(mroot);
if (!File.Exists(filepath))
fs = File.Create(filepath);//创建该文件
if (fs == null)
fs = new FileStream(filepath, FileMode.Append); StreamWriter sw = new StreamWriter(fs);
foreach (var ms in msg)
{
//开始写入
var addstr = "*"+ (ms.Vals.Count +) + "\r\n" +
"$"+ GetStrByte(ms.Command)+"\r\n"+ms.Command+"\r\n";
foreach (var vv in ms.Vals)
{
addstr += "$" + GetStrByte(vv) + "\r\n" + vv+"\r\n";
} sw.Write(addstr);
} //清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();

语句初始化:

            List<RedisProtol> addCom = new List<RedisProtol>();

            foreach (var kv in keyValues)
{
//addCom.Add($"HSET {kv.Key} {kv.Value.Name} {kv.Value.Value}");
var pro = new RedisProtol(); pro.Command = "HSET";
pro.Vals.Add(kv.Key);
pro.Vals.Add(kv.Value.Name);
pro.Vals.Add(kv.Value.Value);
addCom.Add(pro);
}
FileSupport.Instance.RedisProWrite(addCom, filename);

注意几点:

1)计算长度时用的是字节长度,不是字符长度,如果导入的数据中有中文特别要注意,并且要注意字符的编码问题:

2)生成的文件格式如下(注意回车和换行):

												

最新文章

  1. Console.log,Window.alert,Document.write三者区别
  2. css3中的zoom元素属性值测试
  3. UVa 107 - The Cat in the Hat (找规律,注意精度)
  4. MongoDB安装、管理工具、操作
  5. Cheatsheet: 2014 06.01 ~ 06.30
  6. iOS开发之指定UIView的某几个角(小于4)为圆角
  7. cocos2d-x删除本地存储的文件UserDefault.xml方法——白费
  8. linux内核包转发过程(三)NIC帧接收分析
  9. 电影管理器之XML存储电影信息数据
  10. codeforces 755D. PolandBall and Polygon
  11. 于普通用户启动UAC问题
  12. kvm 虚机环境碰到的两个小坑
  13. Html5 和 CSS的简单应用
  14. JVM 字节码(一)字节码规范
  15. log4j配置目标到mongodb
  16. Codeforces Round #496 (Div. 3 ) E1. Median on Segments (Permutations Edition)(中位数计数)
  17. [android] 新闻客户端主界面部分
  18. springAOP记录用户操作日志
  19. SQL Server中关于跟踪(Trace)那点事(转载)
  20. Are you looking forward to this 11s Black Stingray

热门文章

  1. 在服务器上搭建远端git仓库
  2. (好题)POJ3057
  3. centos7下NAT模式下设置静态ip
  4. Golang模块之HTTP
  5. 4~20MA 转 电压输出
  6. VS GIT 使用入门---我只是搬运工
  7. ES6之常用开发知识点:入门(一)
  8. 搭建网页HTML结构
  9. android中的常用布局管理器(三)
  10. Java邮件发送工具类