日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redis数据批量导入导出

發布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis数据批量导入导出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

針對工作中可能用到 將某臺服務器中的redis數據 導出然后導入到新的服務器中,一種方法是redis-dump工具,但是 他需要安裝ruby環境,安裝環境的過程中還可能出現意想不到的錯誤。所以不得不選用其他方法了。一下 是幾點思路 供參考。在此謝謝我的同事(yaoer)的幫忙。

1、數據導出,不用自己寫,也不用第三方腳本,

echo "HGETALL xxx" | redis-cli -h localhost -p 6379

echo "HGETALL xxx" | redis-cli -h localhost -p 6379 >> wordlist.raw

2.這樣得到的結果,你可以上到服務器上 查看?wordlist.raw文件

3.整理成輸入需要的文件格式?

$f = 'xx.oo';
$lines = 0;
$inkey = 0;
$rawfile = 'xx.oo';
$hashkey = 'xx';
$buff = '';
$fp = fopen($rawfile,'w');
$fps = fopen($f,'r');
while($line= fgets($fps)){
?$inkey = !$inkey;
?if ($inkey){

$f = 'bayes_wordlist.raw';
$lines = 0;
$inkey = 0;
$rawfile = 'bayes_wordlist.3.raw';
$hashkey = 'bayes_wordlist';
$buff = '';
$fp = fopen($rawfile,'w');
$fps = fopen($f,'r');
while($line= fgets($fps)){
?$inkey = !$inkey;
?if ($inkey){
??$line = sprintf('"%s"',trim($line));
??$buff = "HSET $hashkey ".trim($line);
??}
?else
?{
??$buff .= ' "'.trim($line).'"';
??fwrite($fp,$buff."\r\n");
?}
}
??$buff = "HSET $hashkey ".trim($line);
?}
?else
?{
??$buff .= ' "'.trim($line).'"';
??fwrite($fp,$buff."\r\n");
?}
}

如果選擇哪個庫 要在首行寫入 select x

4.利用redis-cli進行導入

echo `date` > pipe.log && cat?xx.oo | redis-cli >> pipe.log && echo `date` >> pipe.log

5.加上了時間記錄,和對導入結果進行紀錄,真正執行導入的語句是
cat wordlist.raw | redis-cli,當然嚴謹些的話redis-cli后面還要加-h localhost -p 6379等參數。

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。互聯網+時代,時刻要保持學習,攜手千鋒PHP,Dream It Possible。

轉載于:https://www.cnblogs.com/gaohj/archive/2013/06/13/3133576.html

總結

以上是生活随笔為你收集整理的redis数据批量导入导出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。