Teknik Cache IPSeek.Info
Teknik caching sangat berguna bagi website dengan load tinggi seperti IP Lookup – IpSeek.Info apalagi IPSeek menawarkan bermacam-macam online tools yang sangat potensial menguras resource server. Untuk bandwidth mungkin ada bermacam- macam solusi, sedangkan space banyak hosting yang menawarkan space berkapasitas
super. Sedangkan masalah resource ini yang harus dipecahkan oleh programmer bersangkutan. Berulangkali melakukan query ke database (MySQL) dengan frekuensi yang tinggi akan menyebabkan kegagalan server.
Pada IPSeek.Info setiap permintaan lookup ip sistem akan melihat apakah ip tersebut sudah ada di cache atau belum. Apabila sudah berada di cache, isi cache tersebut akan di load dan dicek apakah sudah expired atau belum. Apabila expired maka mau tidak mau sistem akan mencari di database.
Sesaat setelah berhasil mencari ip di database sistim caching akan menyimpan data pada sebuah file kecil dengan penamaan yang unik untuk masing-masing ip. Selain menyimpan data hasil pencarian juga disertakan kapan cache file tersebut expired.
Sistim penamaan file:
Format IP adalah 4 bilangan antara 0 sampai dengan 255 yang dipisahkan dengan tanda titik, [mmm.nnn.ooo.ppp] Untuk menghasilkan nama yang unik sistim IPSeek.Info, bilangan pertama mmm dikalikan dengan 255^3, bilangan kedua nnn
dikalikan dengan 255^2, bilangan ooo dikalikan 255^1 dan ppp dikalikan dengan 255^0. Kemudian hasil perkalian tersebut dijumlahkan sehingga menghasilkan sebual angka baru yang unik antara satu IP dengan IP lainnya.
Format Informasi Cache:
Segmen 1 : <expired>
Berisi waktu sekarang ditambah dengan periode exired. Pada php fungsi expired adalah:
$expired = time() + 7 * 24 * 60 * 60; // expired 7 hari
Segmen 2 : <data>
Data berisi segala sesuatu tentang hasil resolving pada IPSeek.Info (kususnya) data yang tersimpan antara lain: negara, kota, koordinat longitude & latitude (bila ada) dan data-data lain yang sifatnya kusus.
Setelah semua data didapat pada PHP dilakukan fungsi serialize($data) untuk
menghasilkan nilai string sebelum disimpan pada cache, sedangkan untuk me-load dilakukan operasi unserialize($data) untuk mengembalikan nilai sebelumnya.
Teknik caching sederhana ini sangat umum dipakai di dunia pemrograman untuk
mengurangi load sistem.
