批量清除redis記憶體資料

2021-08-27 22:28:50 字數 871 閱讀 6618

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...