麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Redis > 正文

從MySQL到Redis的簡單數據庫遷移方法

2020-10-28 21:40:25
字體:
來源:轉載
供稿:網友

 從mysql搬一個大表到redis中,你會發現在提取、轉換或是載入一行數據時,速度慢的讓你難以忍受。這里我就要告訴一個讓你解脫的小技巧。使用“管道輸出”的方式把mysql命令行產生的內容直接傳遞給redis-cli,以繞過“中間件”的方式使兩者在進行數據操作時達到最佳速度。

一個約八百萬行數據的mysql表,原本導入到redis中需要90分鐘,使用這個方法后,只需要兩分鐘。不管你信不信,反正我是信了。

Mysql到Redis的數據協議

redis-cli命令行工具有一個批量插入模式,是專門為批量執行命令設計的。這第一步就是把Mysql查詢的內容格式化成redis-cli可用的數據格式。here we go!


我的統計表:
 

CREATE TABLE events_all_time ( id int(11) unsigned NOT NULL AUTO_INCREMENT, action varchar(255) NOT NULL, count int(11) NOT NULL DEFAULT 0, PRIMARY KEY (id), UNIQUE KEY uniq_action (action));

準備在每行數據中執行的redis命令如下:
 
HSET events_all_time [action] [count]
按照以上redis命令規則,創建一個events_to_redis.sql文件,內容是用來生成redis數據協議格式的SQL:
 
-- events_to_redis.sql
 

SELECT CONCAT( "*4/r/n", '$', LENGTH(redis_cmd), '/r/n', redis_cmd, '/r/n', '$', LENGTH(redis_key), '/r/n', redis_key, '/r/n', '$', LENGTH(hkey), '/r/n', hkey, '/r/n', '$', LENGTH(hval), '/r/n', hval, '/r')FROM ( SELECT 'HSET' as redis_cmd, 'events_all_time' AS redis_key, action AS hkey, count AS hval FROM events_all_time) AS t

ok, 用下面的命令執行:
 

mysql stats_db --skip-column-names --raw < events_to_redis.sql | redis-cli --pipe

很重要的mysql參數說明:

  • --raw: 使mysql不轉換字段值中的換行符。
  • --skip-column-names: 使mysql輸出的每行中不包含列名。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 99爱在线免费观看 | 深夜小视频在线观看 | 久久久噜噜噜久久熟有声小说 | 黄色大片在线免费观看 | 一区二区三区欧美在线观看 | 午夜视频大全 | 中文在线日韩 | 国产精品中文在线 | 午夜a狂野欧美一区二区 | 双性精h调教灌尿打屁股的文案 | 国产91丝袜在线播放 | 欧美成人精品欧美一级乱黄 | 女教师~淫辱の动漫在线 | 日韩1区 | 伦一区二区三区中文字幕v亚洲 | 8x成人在线电影 | 二区三区在线观看 | 成人毛片在线免费看 | 色就色 综合偷拍区91网 | 亚洲国产精品久久久久婷婷老年 | 欧美一级高潮 | 欧美大胆xxxx肉体摄影 | 污片视频在线观看 | 毛片在线视频观看 | 亚洲aⅴ免费在线观看 | 在线亚洲免费视频 | 在线成人免费观看www | 国产日韩线路一线路二 | 国产午夜精品一区 | 久久99精品久久久久久久久久久久 | 牛牛热这里只有精品 | 国产91精品欧美 | 国产精品久久久久久久av三级 | 美女久久 | 国产精品白嫩白嫩大学美女 | 欧美精品成人一区二区在线观看 | 欧美乱码精品一区 | 精品国产乱码一区二区三区四区 | 精品国产一区二区三区在线观看 | 欧美国产永久免费看片 | 成人午夜小视频 |