最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年06月30日 09:07:10   投稿:goldensun  
這篇文章主要介紹了從MySQL到Redis的簡單數據庫遷移方法,注意Redis數據庫基于內存,并不能代替?zhèn)鹘y(tǒng)數據庫,需要的朋友可以參考下

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

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

Mysql到Redis的數據協(xié)議

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


我的統(tǒng)計表:
 

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)
);

準備在每行數據中執(zhí)行的redis命令如下:
 
HSET events_all_time [action] [count]
按照以上redis命令規(guī)則,創(chuàng)建一個events_to_redis.sql文件,內容是用來生成redis數據協(xié)議格式的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, 用下面的命令執(zhí)行:
 

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

很重要的mysql參數說明:

  • --raw: 使mysql不轉換字段值中的換行符。
  • --skip-column-names: 使mysql輸出的每行中不包含列名。

相關文章

  • Redis Cluster 字段模糊匹配及刪除

    Redis Cluster 字段模糊匹配及刪除

    在數據庫內我們可以通過like關鍵字、%、*或者REGEX關鍵字進行模糊匹配。而在Redis內我們如何進行模糊匹配呢?本文就來介紹一下
    2021-05-05
  • redis反序列化報錯原因分析以及解決方案

    redis反序列化報錯原因分析以及解決方案

    這篇文章主要介紹了redis反序列化報錯原因分析以及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Redis類型type與編碼encoding原理及使用示例

    Redis類型type與編碼encoding原理及使用示例

    這篇文章主要為大家介紹了Redis類型type與編碼encoding原理及使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • redis 存儲對象的方法對比分析

    redis 存儲對象的方法對比分析

    這篇文章主要介紹了redis 存儲對象的方法對比分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 解析高可用Redis服務架構分析與搭建方案

    解析高可用Redis服務架構分析與搭建方案

    我們按照由簡至繁的步驟,搭建一個最小型的高可用的Redis服務。 本文通過四種方案給大家介紹包含每種方案的優(yōu)缺點及詳細解說,具體內容詳情跟隨小編一起看看吧
    2021-06-06
  • redis鍵空間通知使用實現

    redis鍵空間通知使用實現

    這篇文章主要介紹了redis鍵空間通知使用實現
    2021-08-08
  • 了解redis中RDB結構_動力節(jié)點Java學院整理

    了解redis中RDB結構_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了redis中RDB結構,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 5分鐘搭建redis集群(redis5.0.5)

    5分鐘搭建redis集群(redis5.0.5)

    本文主要介紹了5分鐘搭建redis集群,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 淺談redis整數集為什么不能降級

    淺談redis整數集為什么不能降級

    本文主要介紹了redis整數集為什么不能降級,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-07-07
  • Redis常見限流算法原理及實現

    Redis常見限流算法原理及實現

    這篇文章主要介紹了Redis常見限流算法原理及實現,限流簡稱流量限速(Rate?Limit)是指只允許指定的事件進入系統(tǒng),超過的部分將被拒絕服務、排隊或等待、降級等處理
    2022-08-08

最新評論

珲春市| 哈尔滨市| 怀安县| 林芝县| 铁力市| 额尔古纳市| 灯塔市| 古蔺县| 苏尼特右旗| 陇南市| 平顺县| 阳春市| 元阳县| 葫芦岛市| 平南县| 西华县| 色达县| 若尔盖县| 宽城| 正定县| 博湖县| 白玉县| 建水县| 云梦县| 会昌县| 南城县| 文登市| 白沙| 闵行区| 界首市| 鄂托克前旗| 九龙坡区| 双峰县| 山东省| 顺昌县| 无锡市| 恭城| 石门县| 泰州市| 广水市| 呼图壁县|