ASP.NET menyediakan kemampuan pemrograman yang pada dasarnya menyimpan informasi dalam aplikasi ASP.NET. Fungsionalitasnya mirip dengan objek Aplikasi, tetapi memiliki kemampuan untuk memelihara informasi cache secara dinamis selama masa pakai aplikasi ASP.NET. Caching data dalam aplikasi dapat sangat meningkatkan performa karena data bersifat lokal ke server dan dapat diambil dengan cepat. Alih-alih harus mengkueri ulang sumber data asli. Terutama kemacetan terbesar dari sistem saat ini adalah database, dan penggunaan cache yang rasional dapat mengurangi banyak akses database yang tidak perlu, sehingga dapat mengoptimalkan kinerja sistem.
Objek cache meningkatkan kemampuan untuk menerapkan pemberitahuan kedaluwarsa dan panggilan balik berbasis relevansi yang memungkinkan tindakan pada item yang di-cache dalam cache oleh pengguna lain dari aplikasi manajemen atau oleh ASP.NET itu sendiri. Gunakan objek Cache untuk menyimpan jenis apa pun (jenis nilai atau jenis aplikasi) sebelum memperbarui atau menghapusnya. Cache adalah objek yang lebih fleksibel daripada objek Aplikasi. Ini mendukung:
1. Kedaluwarsa dan penghapusan berbasis relevansi - Objek cache memberikan kemampuan untuk mengikat kedaluwarsa dan penghapusan otomatis nilai cache ke peristiwa file, tanggal/waktu tertentu atau relatif, atau kunci cache lainnya.
2. Manajemen kunci otomatis - Objek cache mencakup manajemen kunci internal, yang menyediakan sinkronisasi untuk pembaruan atom (pembaruan yang dapat ditempatkan dalam operasi perhitungan).
3. Mekanisme callback - Objek cache menyediakan kemampuan untuk mengatur fungsi callback yang akan dipanggil saat menghapus item cache.
Metode penambahan Cache mencakup Add() atau Insert(), dan metode Insert dapat menggunakan parameter opsional untuk menambahkan cache menggunakan kedua parameter default:
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
Parameternya adalah: nama cache, objek cache, dependensi, waktu kedaluwarsa absolut, waktu kedaluwarsa relatif, prioritas, dan peristiwa yang disebabkan oleh kedaluwarsa cache.
Dependensi cache: dependensi file, dependensi cache lainnya, dependensi database, dan metode waktu kedaluwarsa diatur, dan ketika dependensi berubah, cache tidak valid dan dapat memunculkan peristiwa tertentu.
1. Dependensi file: dependensi cache pada file xml:
- <p>DataSet dsProducts = new DataSet();</p><p>//...dsProducts数y据Y</p><p>CacheDependency fileDepends = new CacheDependency(Server.MapPath("Northwind.xml"));</p><p>Cache.Insert("dsProducts", dsProducts, fileDepends);</p>
Salin kode
2. Dependensi item cache lainnya:
- <p>object cacheData;</p><p>string[] fileDependsArray = { Server.MapPath("Northwind.xml") };</p><p>string[] cacheDependsArray = { "Depend0", "Depend1", "Depend2" };</p><p>CacheDependency cacheDepends = new CacheDependency(fileDependsArray, cacheDependsArray);</p><p>Cache.Insert("cacheName", cacheData, cacheDepends);</p>
Salin kode
3. Pengaturan waktu kedaluwarsa:
AbsoluteExpiration dapat mengatur waktu kedaluwarsa absolut cache, seperti mengaturnya agar kedaluwarsa setelah 30 menit:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Salin kode NoSlidingExpiration dapat mengatur waktu kedaluwarsa relatif, jika cache tidak diakses dalam waktu yang ditetapkan oleh NoSlidingExpiration, jika cache kedaluwarsa dan tidak diakses untuk jangka waktu tertentu, cache tidak akan kedaluwarsa. Jika Anda mengakses cache dalam waktu 30 menit, cache tidak akan kedaluwarsa:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Salin kode
|