我正在用spring.net建立一個使用緩存的存儲庫。我可以更新/添加/刪除緩存列表中的一個項目,而無需重建整個列表?在存儲庫中使用spring.net更新緩存的一部分可能嗎?
從他們的站點查看文檔和示例項目時,他們總是在更新/添加/刪除一個項目時清除緩存。因此,只要你只讀取一個對象或對象列表,緩存就能正常工作,但是因爲我改變了一個項目而不得不重建整個緩存?
例子:
// Cache per item and a list of items
[CacheResult("DefaultCache", "'AllMovies'", TimeToLive = "2m")]
[CacheResultItems("DefaultCache", "'Movie-' + ID")]
public IEnumerable<Movie> FindAll()
{
return movies.Values;
}
// Update or add an item invalidating the list of objects
[InvalidateCache("DefaultCache", Keys = "'AllMovies'")]
public void Save([CacheParameter("DefaultCache", "'Movie-' + ID")]Movie movie)
{
if (this.movies.ContainsKey(movie.ID))
{
this.movies[movie.ID] = movie;
}
else
{
this.movies.Add(movie.ID, movie);
}
}
謝謝!過了一段時間後,我回到了這一點,即使我有點困惑,我接受了解決方案。我只是希望有人會在spring.net緩存中擴展文檔。 :) – Lilja 2012-03-25 20:52:25