Memperluas cache menerima data atau insert

Dalam proyek ini, saya berencana untuk membangun sebuah fitur caching untuk menyimpan beberapa umum dan sering berubah data, saya menyadari bahwa saya akan menggunakan banyak cache [string kunci], cache.get () dan / atau Cache .Insert () metode. dan itu berarti saya harus memeriksa apakah data tersebut sudah dalam cache, dan jika saya tidak perlu memasukkan data dalam objek cache.

Aku sedang memikirkan metode untuk memverifikasi dan memperbarui cache tanpa menggantikannya lagi dan lagi, tetapi itu berarti bahwa saya harus tahu apa jenis data, data yang diperlukan untuk penyimpanan, yang menyebabkan generik dan ekspansi untuk membangun metode ekstensi untuk memeriksa objek Cache dan mendapatkan atau memasukkan data.

Saya menggunakan ASP.NET MVC 1.0 dalam proyek, berikut metode ekstensi untuk mendapatkan atau memasukkan cache objek:

melalui System; melalui System.Web.Caching; namespace CacheExtensions { public static class CasheExtension { public static T GetOrInsert & amp; amp; Lt; T & amp; amp; Gt; ( adalah Cache Cache, String kunci, Func & amp; amp; lt; T & amp; amp; gt; generator) { Options hasil Cash = [key]; adalah (hasil = NULL ) kembali (T) hasil; Hasil = (Generator = NULL )? Generator (): Standar (T); Cache.Insert (hasil kunci); Kembali (T) hasil; }}}

Sekarang Anda dapat dengan mudah menggunakan metode telepon diperpanjang sebagai berikut:

objek dari = httpRuntime .Cache.GetOrInsert & amp; amp; Lt; objek & amp; amp; Gt; (