kode program
<%
'oleh xilou,www.chinacms.org,20090115
'Pembaruan terakhir: 20090115
'Catatan modifikasi: tidak ada
CONST CACHEPREFIX = "CACHE_" 'Awalan cache, tidak boleh kosong
' Keterangan:
' 1. Format cache adalah Aplikasi(CACHEPREFIX & kunci) = array("kunci cache", "waktu cache", "konten cache", "deskripsi cache", "waktu kedaluwarsa")
'2, kunci cache tidak peka huruf besar-kecil
'Menambahkan cache tanpa memeriksa apakah cache ada. Jika ada, itu sama dengan memperbarui cache.
'varAry: parameter, formatnya adalah: array("kunci cache", "waktu cache", "konten cache", "deskripsi cache")
'Kunci cache: format yang sama dengan aplikasi()
'Waktu cache: satuan detik, bisa berupa angka negatif, menunjukkan masa berlaku segera, bisa kosong, kosong atau bukan angka, standarnya adalah masa berlaku 20 menit
'Konten cache: data cache, cache objek tidak didukung
'Deskripsi cache: deskripsi cache
Fungsi TambahkanCache(varAry)
Redupkan c,ary(4)
Jika Bukan IsArray(varAry) Lalu
Response.Write "Kesalahan: kesalahan parameter AddCache(varAry), parameter bukan array"
Respon.Akhir()
Akhiri Jika
Jika UBound(varAry) <> 3 Lalu
Response.Tulis "Kesalahan: kesalahan parameter AddCache(varAry), kesalahan panjang array"
Respon.Akhir()
Akhiri Jika
Jika varAry(0) = "" Lalu
Response.Tulis "Kesalahan: kesalahan AddCache(varAry), kunci tidak boleh kosong"
Respon.Akhir()
Akhiri Jika
Jika varAry(1) = "" atau Bukan IsNumeric(varAry(1)) Maka varAry(1) = 1200
Aplikasi.Kunci()
Aplikasi(CACHEPREFIX & varAry(0)) = array(varAry(0),varAry(1),varAry(2),varAry(3),DateAdd("s",varAry(1),Sekarang()))
Aplikasi.Buka Kunci()
Fungsi Akhir
'Periksa apakah cache ada, kembalikan True jika ada, jika tidak, kembalikan False
'kunci: kunci cache
Fungsi CheckCache (kunci)
Redupkan k
Untuk Setiap k Dalam Aplikasi.Isi
Jika LCase(k) = LCase(CACHEPREFIX & key) Maka CheckCache = True : Keluar dari Fungsi
Berikutnya
PeriksaCache = Salah
Fungsi Akhir
'Dapatkan cache
'Kembalikan array dalam format: array("kunci cache", "waktu cache", "konten cache", "deskripsi cache", "waktu kedaluwarsa", apakah sudah kedaluwarsa Benar|Salah)
'Jika tidak ada, akan terjadi kesalahan, jadi periksa dengan CheckCache(kunci) sebelum mendapatkannya.
Fungsi GetCache(kunci)
Aplikasi redup, isExp
app = Aplikasi (CACHEPREFIX & kunci)
isExp = Salah
Jika DateDiff("s",Now(),app(4)) <= 0 Maka isExp = Benar
GetCache = Array(aplikasi(0),aplikasi(1),aplikasi(2),aplikasi(3),aplikasi(4),isExp)
Fungsi Akhir
'Hapus cache
Fungsi HapusCache(kunci)
Aplikasi.Kunci()
Aplikasi.Isi.Hapus(CACHEPREFIX & kunci)
Aplikasi.Buka Kunci()
Fungsi Akhir
'Perbarui cache. Jika cache tidak ada, kesalahan akan terjadi, jadi periksa dengan CheckCache(kunci) sebelum memperbarui.
'varAry: parameter, formatnya adalah: array("kunci cache", "waktu cache", "konten cache", "deskripsi cache")
'Kunci cache: format yang sama dengan aplikasi()
'Waktu cache: satuan detik, bisa berupa angka negatif, menunjukkan masa berlaku segera, bisa kosong, kosong atau bukan angka, standarnya adalah masa berlaku 20 menit
'Konten cache: data cache, cache objek tidak didukung
'Deskripsi cache: deskripsi cache
'Catatan: Jika Anda tidak memperbarui nilai varAry tertentu, setel saja nilainya ke null.
' Seperti UpdateCache(array("key",null,"content",null)), yang berarti waktu kedaluwarsa dan deskripsi tidak akan diperbarui.
Fungsi UpdateCache(varAry)
Redupkan aplikasi
aplikasi = GetCache(varAry(0))
Jika Bukan IsNull(varAry(1)) Maka app(1) = varAry(1)
Jika Bukan IsNull(varAry(2)) Maka app(2) = varAry(2)
Jika Bukan IsNull(varAry(3)) Maka app(3) = varAry(3)
Jika app(1) = "" atau Bukan IsNumeric(app(1)) Maka app(1) = 1200
Aplikasi.Kunci()
Aplikasi(CACHEPREFIX & aplikasi(0)) = array(aplikasi(0),aplikasi(1),aplikasi(2),aplikasi(3),DateAdd("s",aplikasi(1),Sekarang()))
Aplikasi.Buka Kunci()
Fungsi Akhir
'www.downcodes.com
'Cetak cache untuk debugging
Fungsi PrintCache (kunci)
Redupkan aplikasi,i,t
Jika CheckCache(kunci) Lalu
aplikasi = GetCache(kunci)
Respon.Tulis "<pre>{"&chr(10)
Respon.Tulis chr(32) & "nama cache" & chr(32) & ":" & chr(32) & CACHEPREFIX & aplikasi(0) & chr(10)
Respon.Tulis chr(32) & "kunci cache" & chr(32) & ":" & chr(32) & aplikasi(0) & chr(10)
Respon.Tulis chr(32) & "waktu cache" & chr(32) & ":" & chr(32) & aplikasi(1) & chr(10)
Respon.Tulis chr(32) & "Waktu kedaluwarsa" & chr(32) & ":" & chr(32) & aplikasi(4) & chr(10)
Respon.Tulis chr(32) & "Apakah sudah jatuh tempo?" & chr(32) & ":" & chr(32) & aplikasi(5) & chr(10)
Respon.Tulis chr(32) & "deskripsi cache" & chr(32) & ":" & chr(32) & aplikasi(3) & chr(10)
'isi
Respon.Tulis chr(32) & "konten cache" & chr(32) & ":" & chr(32)
t = VarType(aplikasi(2))
Jika InStr(",0,1,2,3,4,5,6,7,8,11,",","&t&",") > 0 Maka
Respon.Tulis aplikasi(2)
Kalau tidak
Respon.Tulis TypeName(aplikasi(2))
Akhiri Jika
Respon.Tulis bab(10)
Respon.Tulis "}</pre>"&chr(10)
Kalau tidak
Response. Tulis "Cache tidak ada"
Akhiri Jika
Fungsi Akhir
'----------demo
Sub br(str)
Respon.Tulis str & "<br />" & vbcrlf
Akhiri Sub
'HapusCache "xilou"
'AddCache Array("xilou","",array("isi data"),"deskripsi cache")
br PeriksaCache("xilou")
CetakCache "xilou"
Redupkan aplikasi
Jika CheckCache("xilou") Lalu
app = GetCache("xilou") 'Dapatkan
UpdateCache array(aplikasi(0),null,"testsfsfsf",null)'Update
Kalau tidak
Array AddCache("xilou","","isi","deskripsi")
Akhiri Jika
'Redupkan k
'Untuk Setiap k Dalam Aplikasi.Isi
'br k
'Berikutnya
%>