zoukankan      html  css  js  c++  java
  • Redis 数据总结(1 数据导入)

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

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

    1.windows 下数据导入命令:

    type output.data | C:Redis edis-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 +1) + "
    " +
                                            "$"+ GetStrByte(ms.Command)+"
    "+ms.Command+"
    ";
                        foreach (var vv in ms.Vals)
                        {
                            addstr += "$" + GetStrByte(vv) + "
    " + vv+"
    ";
                        }
    
                        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)生成的文件格式如下(注意回车和换行):

    
    
  • 相关阅读:
    第8组 Beta(2/6)(赵红霞)
    第8组 Beta (1/6)(赵红霞)
    第8组 Alpha(6/6)(赵红霞)
    第8组 Alpha(5/6)(赵红霞)
    第8组 Alpha(4/6)(赵红霞)
    第8组 Alpha(3/6)(赵红霞)
    第8组 Alpha(2/6)(赵红霞)
    Windows炫酷桌面钢铁侠主题 雨滴 Rainmeter
    blob 视频无法解析下载?不存在的,来瞅瞅这个方法
    java C C++ .net ps 安卓 等各种教学视频免费送
  • 原文地址:https://www.cnblogs.com/leolzi/p/10772238.html
Copyright © 2011-2022 走看看