背景:
公司的老框架裡的登錄信息用的MemoryCache保存的,為了實現單用戶登錄(即一個賬號不能同事登錄),需要在登錄前對已經登錄的信息做遍歷。
大致思路如下:
本方法可用於清除所有的緩存。
1、HttpRuntime.Cache
System.Collections.IDictionaryEnumerator cacheEnum = HttpRuntime.Cache.GetEnumerator();
while(cacheEnum.MoveNext()) { //cacheEnum.Key.ToString()為緩存名稱,cacheEnum.Value為緩存值 }
2、System.Runtime.Caching.ObjectCache
ObjectCache cache = MemoryCache.Default
IEnumerable<KeyValuePair<string, object>> items = cache.AsEnumerable();
foreach (KeyValuePair<string, object> item in items) { //item.Key為緩存名稱, item.Value為緩存值 }
這個緩存是.NET4.0新增的。
班門弄斧的補充說明單用戶登錄實現原理:
單用戶登錄時,對已經登錄用戶信息做遍歷,發現同一個登錄賬號,就將其從緩存裡移除,再做登錄即可
(分布式緩存的後續再補充吧!)
2015-02-05
wujf
有追求,才有動力!