1.HashSet<T>類,主要被設計用來存儲集合,做高性能集運算,例如兩個集合求交集、並集、差集等。從名稱可以看出,它是基於Hash的,可以簡單理解為沒有Value的Dictionary。
2.HashSet<T>不能用索引訪問,不能存儲重復數據,元素T必須正確實現了Equals和GetHashCode。
3.HashSet<T>的一些特性如下:
(1)HashSet<T>中的值不能重復且沒有順序。
(2)HashSet<T>的容量會按需自動添加。
4.優勢:
(1)HashSet的優勢在與運算快,作為一種存放在內存的數據,可以很快的進行設置和取值的操作。
(2)使用HashSet作為內存存儲的快速數據庫,這個需要隨時跟新HashSet里面的數據,因為在HashSet中一個長時間未被訪問的數據,將被系統自動回收掉,那么就會導致失敗,那么如何才能保證HashSet里面的值是長存在的而且達到不斷的更新里面的值呢?
首先程序過來訪問我們HashSet里面有沒有需要的數據,如果有我們需要的數據就直接返回給用戶,不用調用查詢數據庫的操作。如果HashSet里面沒有我們需要的數據,程序再去查詢一次數據庫是否有該Query數據,如果有返回給用戶同時把查詢的結果添加到HashSet里面,這么做可以一定程度的降低查詢數據庫所帶來的不便,但是不能根除,需要進一步提升性能,可以查看前面的緩存策略使用redis來提高網站查詢和訪問。
