1. 程式人生 > >Redis 數據總結(1 數據導入)

Redis 數據總結(1 數據導入)

output lose create span writer tput help -h style

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)生成的文件格式如下(註意回車和換行):

技術分享圖片

Redis 數據總結(1 數據導入)