Redis批量匯入資料

2021-08-27 10:13:44 字數 695 閱讀 1622

openstack上的乙個8核cpu、16gb記憶體、110gb磁碟的虛擬機器

ubuntu12.04 x64 server系統

安裝redis2.6.7

做實驗的時候需要把乙個2.1億條的key-value資料匯入redis以提供快速的查詢。

安裝、配置、啟動redis之後,需要把資料匯入到redis中。

嘗試用jedis寫客戶端往redis中逐條插入資料的話,速度很慢,一分鐘插入幾萬條就謝天謝地了,2.1億條得好幾天(我猜redis每秒10萬條的插入速度是批插的速度,而且是插入的比較短的資料)。

關於redis批插,查了一下,有的用了乙個叫redis_import_tools的工具

使用python寫的,看了一下readme感覺有點麻煩,上面說是比redis自帶的pipe line功能要快,我還就不信邪了,試試redis自己的pipe line到底能有多慢:

參考這裡寫得很清楚了,自己生成乙個redis protocol格式的資料檔案即可。2.1億條(9gb,其中純資料不到4gb)的匯入大概用了12分鐘的樣子,匯入後redis-server程序差不多吃掉了90%的記憶體(總共16gb)。看來:

1、redis自己的pipe還是很強大的;

2、redis十分吃記憶體,物理記憶體最好是資料的4倍以上(而且是沒有其他程序占用資源的情況下),否則就要設定系統的記憶體分配方式,使得redis可以使用虛擬記憶體,但查詢速度可能會有所降低。

redis資料批量匯入匯出

redis資料批量匯入匯出 針對工作中可能用到 將某台伺服器中的redis資料 匯出然後匯入到新的伺服器中,一種方法是redis dump工具,但是 他需要安裝ruby環境,安裝環境的過程中還可能出現意想不到的錯誤。所以不得不選用其他方法了。一下 是幾點思路 供參考。1 資料匯出,不用自己寫,也不用...

jdbc批量匯入資料

jdbc批量插入主要用於資料匯入和日誌記錄因為日誌一般都是先寫在檔案下的等。我用mysql 5.1.5的jdbc driver 分別對三種比較常用的方法做了測試 try prest.executebatch conn.commit conn.close catch sqlexception ex c...

SAP BDC批量匯入資料

在做好錄屏以後shdb。首先必須定義bdc變數 bdc table data t bdc like bdcdata occurs 0 with header line,t bdcmsg like bdcmsgcoll occurs 0 with header line.data begin of t...