本文主要給大家介紹MySQL快速遷移到redis方法,文章內容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下MySQL快速遷移到Redis方法吧。
站在用戶的角度思考問題,與客戶深入溝通,找到千山網(wǎng)站設計與千山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務覆蓋千山地區(qū)。
一個簡單快速的將MySQL的數(shù)據(jù)遷移到Redis中并且以hash方式存儲,數(shù)據(jù)的存儲需要遵守redis的通訊協(xié)議(官方連接 http://redis.io/topics/mass-insert),
如:
*3 CR LF //三個字段
$3 CR LF //第一個字段 ‘set’ 有3個字節(jié)
SET CR LF //字段內容set
$4 CR LF //第二個字段key1有4個字節(jié)
key1 CR LF //字段二內容 mykey
$4 CR LF //第三個字段有4個字節(jié)
val1 CR LF //字段三內容 val1
結果:set key1 val1
案例如下:
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)
);
##數(shù)據(jù)自己添加到表
Redis存儲結構:
1、hset events_all_time ACTION COUNT ##這里設置的鍵值方面于數(shù)據(jù)庫對應起來
2、編寫變量保存到文件里abc.sql
SELECT CONCAT(
"*4\r\n", ###表示redis命令有4個字段包括命令和參數(shù)(表字段)
'$', 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, ##這里用表名作為redis中的field名
action AS hkey, ##數(shù)據(jù)庫字段
count AS hval
FROM events_all_time
) AS t
3、執(zhí)行: /usr/local/mysql/bin/mysql -h292.168.1.195 -udlan -p log --skip-column-names --raw 重要參數(shù)說明: --raw: 使mysql不轉換字段值中的換行符。 --skip-column-names: 使mysql輸出的每行中不包含列名 看完以上關于MySQL快速遷移到Redis方法,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關注我們的行業(yè)資訊欄目的。
新聞標題:MySQL快速遷移到Redis方法
文章出自:http://weahome.cn/article/geohih.html