ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis 数据总结(1 数据导入)

2019-04-26 08:53:07  阅读:232  来源: 互联网

标签:fs pro Redis Value Add 导入 kv Vals 数据


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 +1) + "\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)生成的文件格式如下(注意回车和换行):

 

标签:fs,pro,Redis,Value,Add,导入,kv,Vals,数据
来源: https://www.cnblogs.com/leolzi/p/10772238.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有