mysql資料向Redis快速匯入

2021-06-22 17:06:38 字數 2608 閱讀 2865

redis協議

*引數個數

$第乙個引數長度

第乙個引數

$第乙個引數長度

第二個引數

... ...

編寫sql語句,把mysql資料組合成redis協議資料流

select concat(

"*16\r\n",

'$', length(redis_cmd), '

\r\n

',redis_cmd, '

\r\n

','$

', length(redis_key), '

\r\n

',redis_key, '

\r\n',

'$', length(hkey1), '

\r\n

',hkey1, '

\r\n

','$

', length(hval1), '

\r\n

', hval1, '

\r\n''

$', length(hkey2), '

\r\n

',hkey2, '

\r\n

','$

', length(hval2), '

\r\n

', hval2, '

\r\n''

$', length(hkey3), '

\r\n

',hkey3, '

\r\n

','$

', length(hval3), '

\r\n

', hval3, '

\r\n''

$', length(hkey4), '

\r\n

',hkey4, '

\r\n

','$

', length(hval4), '

\r\n

', hval4, '

\r\n''

$', length(hkey5), '

\r\n

',hkey5, '

\r\n

','$

', length(hval5), '

\r\n

', hval5, '

\r\n''

$', length(hkey6), '

\r\n

',hkey6, '

\r\n

','$

', length(hval6), '

\r\n

', hval6, '

\r\n''

$', length(hkey7), '

\r\n

',hkey7, '

\r\n

','$

', length(hval7), '

\r\n

', hval7, '\r'

)from (

select

'hmset

' as redis_cmd, concat(resource_id,'

_hash

') as redis_key,

'name

'as hkey1,resource_title as hval1,

'type

'as hkey2,resource_type_name as hval2,

'exe

'as hkey3,resource_format as hval3,

'page

'as hkey4,resource_page as hval4,

'size

'as hkey5,resource_size as hval5,

'time

'as hkey6,create_time as hval6,

'num

'as hkey7,resource_downcount as hval7

from t_resource_info

) as t

拼出來的串

*16\r\n$5\r\nhmset\r\n$9\r\nnba231058\r\n$4\r\nname\r\n$51\r\n綠色食品的定義及綠色食品標誌的使用\r\n$4\r\ntype\r\n$6\r\n文字\r\n$3\r\nexe\r\n$3\r\ndoc\r\n$4\r\npage\r\n$1\r\n1\r\n$4\r\nsize\r\n$6\r\n79.5kb\r\n$4\r\ntime\r\n$19\r\n2013-05-31

08:56:59\r\n$3\r\nnum\r\n$2\r\n18\r\n

執行下面的語句

mysql -h 10.10.3.218 -uroot -p123456 -dtest_db --skip-column-names --raw –raw: 使mysql不轉換字段值中的換行符。

–skip-column-names: 使mysql輸出的每行中不包含列名。

單獨執行

echo -en '

*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n

' | redis-cli --pipe

經測試200w條資料,2分鐘以內就可以完成。

mysql資料向Redis快速匯入

redis協議 引數個數 第乙個引數長度 第乙個引數 第乙個引數長度 第二個引數 編寫sql語句,把mysql資料組合成redis協議資料流 select concat 16 r n length redis cmd r n redis cmd,r n length redis key r n re...

mysql資料向Redis快速匯入

redis協議 引數個數 第乙個引數長度 第乙個引數 第乙個引數長度 第二個引數 編寫sql語句,把mysql資料組合成redis協議資料流 select concat 16 r n length redis cmd r n redis cmd,r n length redis key r n re...

mysql資料向Redis快速匯入

redis協議 引數個數 第乙個引數長度 第乙個引數 第乙個引數長度 第二個引數 編寫sql語句,把mysql資料組合成redis協議資料流 select concat 16 r n length redis cmd r n redis cmd,r n length redis key r n re...