java實現(xiàn)redis存放list Redis怎么存儲List對象比較好?
Redis怎么存儲List對象比較好?方案1:直接使用列表結構,其中存儲二進制任務bean信息。這樣查詢所有任務方便,查詢單個任務速度慢,刪除和修改狀態(tài)麻煩;方案二:直接使用哈希結構,哈希鍵存儲任務I
Redis怎么存儲List對象比較好?
方案1:
直接使用列表結構,其中存儲二進制任務bean信息。這樣查詢所有任務方便,查詢單個任務速度慢,刪除和修改狀態(tài)麻煩;
方案二:
直接使用哈希結構,哈希鍵存儲任務ID,值存儲二進制bean信息。這樣,可以查詢所有任務和單個任務的業(yè)務和刪除任務的速度都很快,但修改狀態(tài)必須先取出數據,再修改再插入
怎么在redis里面存list?
以PHP為例:$redis=new redis()$redis->connect(“127.0.0.1”,6379)$redis->set(“arr”,array(1,2,3,4,5),3600)$STR=$redis->get(“arr”)printur($STR)安裝了redis插件并啟用了服務器redis,就可以運行上面的代碼了。您會發(fā)現(xiàn)打印的結果是數組。這意味著redis不能存儲數組類型的變量??梢詫到M轉換為字符串,然后進行存儲。當它被使用時,它可以被取出,然后轉換成一個數組以便重用。
redis list如何去重?
最好的方法是使用set,因為set中存儲的數據不重復。
如果不想使用set,可以執(zhí)行以下操作。
Listlistutmp=newarraylist()//創(chuàng)建一個列表集合,用于臨時存儲非重復列表元素。
對于(Objectobj:列表){
//這里可以根據需要添加強制轉換。
//如果列表中存儲了用戶對象,則添加useru=(user)obj
如果(!列表)tmp.包含(obj)){//注意contains方法是通過equals方法進行比較的,因此您需要根據自己的需要查看是否需要重寫list對象中的equals方法。
列表utmp添加(obj)//如果上面添加了強制轉換,則應該在此處寫入列表utmp添加(u)
}
}