redis中採用管道進行sadd操作

2021-09-11 11:25:01 字數 692 閱讀 6071

管道中sadd函式定義如下:

public transient long sadd(byte key, byte... values)

第乙個引數為byte型別的一維陣列,第二個引數可以傳入0到多個object物件或者傳入乙個object陣列。

現在有乙個需求,就是將set中的資料儲存到某個key的value中,此時我們該怎麼去將這個set容器中的資料轉換成byte型的二維陣列?

錯誤的方法:

if(sets.size() > 0) 

}//由於泛型中的擦除特性,這裡不能進行強制轉換

byte bytearr = (byte)bytelist.toarray();

pipelineclient.sadd(key.getbytes(),bytearr);

bytelist.clear();

bytelist = null;

}

正確的方法:

if(sets.size() > 0) 		        				

}if(nsetcount > 0)

pipelineclient.sadd(key.getbytes(),bytearr);

}}

先將要儲存的值儲存到string陣列中,然後通過轉換到byte二維陣列變數中,最後將陣列儲存到redis管道中。

Redis中對Key進行分類

使用 體現層次 set key1 key2 key4 value1 ok set key1 key2 key5 value2 ok set key1 key3 key5 value3 ok set key1 key3 key4 value4 ok 使用redisdesktopmanager檢視結果 ...

對IIS中的虛擬目錄進行操

假如虛擬目錄名為 chinabs 先在專案中引用 system.directoryservices.dll,再 using system.directoryservices protected system.directoryservices.directoryentry dirroot 1 新增新...

對比倆個Excel中的資料,並且進行資料操作

專案需要,去對比倆個excel中的資料是否一樣,不一樣需要做替換,有個同事在處理中 處理了一天 1000 多條吧,移交給我 本人在想通過人工手動的方式,乙個個做對比得花多長時間啊,主要是資料量還很大,最主要的是,我也不想幹,不幹沒辦法。思考之後 方案一 準備把excel1 資料讀取到,放在乙個很大的...