2013-09-26 15 views
8

Merhaba Süre sonu özellikleri olan bir eşzamanlı sözlükten sonra biraz araştırma yapıyorum.Bitirme Eşzamanlı Sözlüğü

Erişilen nesnelerin bir listesini çok farklı iş parçacıklarından ekler ve kaldırır. Aynı zamanda öğeler üzerinde bir son kullanma süresi istiyoruz, 60 saniyelik söyleyelim. (Listenin süresi dolmuş ve listeden kaldırılan öğeleri bize bildiren bir olayı dinleyebilirsek iyi olur).

Ayrıca bir Sözlük gibi hızlı bir şekilde arama yapmaya ihtiyacımız var.

Bu liste yüz binlerce nesneye sahip olacak.

Böyle bir ConcurrentDictionary gibi ama son kullanma özellikleri ile.

MemoryCache bir şey olabilir mi? Ya da bakmak için başka şeyler mi?

+0

Sadece ['Cache'] (http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx) sınıfını kullanmayı düşündünüz mü? (düzenleme) Hayır, 'MemoryCache' tam olarak ihtiyacınız olan şeydir, sorunuzu iyice okumadım. – Groo

+0

@Groo: OP System.Web.dll – spender

+0

@spender bağımlılığı olmadan Cache ile aynı olarak etkili olan MemoryCache hakkında sorar: oh, doğru, sadece cevabın başlangıcını okudum ve OP istediği sıfırdan kodlamak için varsayılır. – Groo

cevap

9

MemoryCache özellikle bu tip parçacığı güvenli

olarak ideal görünüyor.

+0

+1. Aynı zamanda [ekspirasyonunu destekler] (http://msdn.microsoft.com/en-US/library/system.runtime.caching.cacheitempolicy.absoluteexpiration.aspx) [bildirimle] (http://msdn.microsoft.com/ tr/kütüphane/system.runtime.caching.cacheitempolicy.updatecallback.aspx). –

+0

Soru şu ki, eklemek ve kaldırmak gerçekten hızlı mı? – NPehrsson

+0

@NPehrsson Bence bunu kendin test etmelisin. – spender