1. 匯出redis所有key。
速度還是比較快的,大約1g的資料匯出100m的key。
2. 分割成小檔案。
一是大檔案會占用伺服器大量記憶體,二則先處理一小部分資料檢查一下正常資料是否
被清掉等。
3. 迴圈,查詢所有key的value,按條件刪除
此處使用php指令碼實現,進行一些邏輯處理。
業務簡單可以用一條管道命令簡單實現 redis-cli keys "key_prefix*" | xargs redis-cli del 。//注意*號
// exec('redis-cli keys "*" > redis_keys.txt');
// split -b 10m redis.txt redis_keys_
if( !isset($argv[1]))
$content = file_get_contents($argv[1]);
$arr = explode("\n", $content);
$num = count($arr);
for($i=0;$i<$num ;$i++)
exec("redis-cli get $arr[$i]", $info);
$str = $info[0];
unset($info);
if($str=='')
$content = unserialize(unserialize($str));
if( !isset($content['user']))elseif(isset($content['user']) && strpos($content['user']['tel'], 'a')!==false)else
}
Redis批量匯入資料
openstack上的乙個8核cpu 16gb記憶體 110gb磁碟的虛擬機器 ubuntu12.04 x64 server系統 安裝redis2.6.7 做實驗的時候需要把乙個2.1億條的key value資料匯入redis以提供快速的查詢。安裝 配置 啟動redis之後,需要把資料匯入到redi...
Redis批量寫入資料
生產中的有些場景,我們經常需要大批量的往redis中寫入資料,如果我們採用單條迴圈寫入的話,不僅效率低下,而且可能會出現頻繁的建立和銷毀redis連線,這些都是很不合理的.對此,我們可以採用jedis的父類中的pipelined 方法獲取管道,它可以實現一次性傳送多條命令並一次性返回結果,這樣就大量...
redis批量插入資料
有時候測試需要大量資料,但是redis中沒有這麼多,這個時候需要我們自己來創造 1 在linux下,寫乙個python指令碼 redis.py如下 格式 print setkey的名字 str i 你要新增的資料 2 寫好後,由於我們是在linux下建立的,不需要轉換直接執行 python redi...