Redis 导入
()
| 141 | |
| 142 | // Redis 导入 |
| 143 | func handle_import() { |
| 144 | |
| 145 | bs, err := ioutil.ReadFile(FileName) |
| 146 | if err != nil { |
| 147 | Info("读取文件失败" + err.Error()) |
| 148 | } |
| 149 | redis_info := RedisInfo{} |
| 150 | err = json.Unmarshal(bs, &redis_info) |
| 151 | if err != nil { |
| 152 | Info("不是合法的json文件" + err.Error()) |
| 153 | } |
| 154 | //string |
| 155 | for _, v := range redis_info.String { |
| 156 | Rdb.Set(ctx, v.Key, v.Val, 0) |
| 157 | } |
| 158 | //hash |
| 159 | for _, v := range redis_info.Hash { |
| 160 | maps := map[string]string{} |
| 161 | for _, d := range v.Data { |
| 162 | maps[d.Field] = d.Val |
| 163 | } |
| 164 | Rdb.HMSet(ctx, v.Key, maps) |
| 165 | } |
| 166 | //set |
| 167 | for _, v := range redis_info.Set { |
| 168 | |
| 169 | for _, v1 := range v.Data { |
| 170 | Rdb.SAdd(ctx, v.Key, v1) |
| 171 | } |
| 172 | } |
| 173 | //zset |
| 174 | |
| 175 | for _, v := range redis_info.Zset { |
| 176 | |
| 177 | zs := []*redis.Z{} |
| 178 | for _, v1 := range v.Data { |
| 179 | zs = append(zs, &redis.Z{ |
| 180 | Member: v1.Member, |
| 181 | Score: v1.Score, |
| 182 | }) |
| 183 | } |
| 184 | |
| 185 | Rdb.ZAdd(ctx, v.Key, zs...) |
| 186 | } |
| 187 | //list |
| 188 | for _, v := range redis_info.List { |
| 189 | for _, v1 := range v.Data { |
| 190 | Rdb.RPush(ctx, v.Key, v1) |
| 191 | } |
| 192 | } |
| 193 | |
| 194 | Success(FileName + " 导入成功") |
| 195 | |
| 196 | } |
no test coverage detected