Apa itu Memcached ?
Memcached adalah sebuah technologi yang digunakan sebagai suatu sistem penyimpanan dan pendistribusian data didalam memory server (RAM). Contoh website yang memakai memcached adalah detik.com. Search enginenya yg sangat cepat itu di code dengan memcached. Cara kerja memcached sangatlah simple karena fungsinya hanya cache server dan mengurangi load ke database server dan data yang di simpan oleh memcached disimpan di memory sehingga akses kedata tersebut akan jauh lebih cepat daripada akses ke database server.
Install Memcached di Ubuntu
Update Package
$ sudo apt-get update
$ sudo apt-get install memcached
Configuration of the Memcached Installation
Gunakan perintah berikut untuk melihat informasi mengenai perintah memcached:
$ memcached -h
$ vi /etc/memcached.conf
Saat start, Memcached akan start pada port 11211 secara default sesuai dengan file konfigurasi default. Untuk mengganti port, cukup ubah nomor di file konfigurasi. Jika singin menjalankan Memcached pada port 1337, dengan memori 4GB, dan memungkinkan maksimal 2.000 koneksi, Ubahlah sesuai code berikut:-p 1337
-m 4096
-c 2000
Keluar dan simpan file konfigurasi, lalu restart Memcached$ sudo service memcached restart
Implementasi Pada ROR
Mulai dari awal buat project baru
$ rails new memcached_coba -d postgresql
$ cd memcached_coba
$ rails g scaffold post title:string description:text
$ rake db:create
$ rake db:migrate
Mulai setup memcacheTambahkan gem 'dalli' pada file Gemfile lalu bundle install
Edit File config/environments/development.rb tambahkan atau rubah:
config.cache_store = :dalli_store
Buat file 'memcached.rb' pada folder config/initializers/memcached.rb isi file seperti berikut:CACHE = Dalli::Client.new('127.0.0.1', { :namespace => 'memcached_coba', :expires_in => 3600, :socket_timeout => 3, :compress => true })
Dasar Penggunaan memcached# Menyimpan memcached
CACHE.set(key, value)
# Mengatur waktu expire CACHE.set(key, value, time_expire)
# Menggunakan memcached CACHE.get(key, value)
# Menghapus memcached CACHE.delete(key)
# Menghapus semua memcached CACHE.flush_all
Berikut adalah sreenshoot hasil percobaan saya di rails console:Selanjutnya kita akan mencoba menyimpan data post menggunakan memcached
Sebelum menggunakan memcached buatlah data post terlebih dahulu http://localhost:3000/posts/
Mari kita lihat log server sebelum penggunaan memcached berikut screenshootnya
Gambar Sebelum menggunakan memcached
Sekarang kita pasang memcached pada detil posts
Ubah code method set_post pada file app/controllers/posts_controller.rb
def set_post
@post = CACHE.get("post-#{params[:id]}")
if @post.nil?
@post = Post.find(params[:id])
CACHE.set("post-#{params[:id]}", @post)
end
end
Mari kita lihat log server setelah penggunaan memcached berikut screenshootnya
Gambar setelah menggunakan memcached
Dari kedua gambar diatas kita bisa lihat perbedaanya bila menggunakan memcached saat pergi ke halaman detil post untuk kedua kalinya server tidak meload ke database terbukti dengan tidak adanya baris info load 'Post Load (2.4ms) SELECT "posts".* FROM "posts" '
Dengan memanfaatkan memcached kita bisa membuat web kita menjadi lebih cepat . Sekian dulu postingan kali ini bila ada yang bertanya atau menambahkan yang kurang silahkan comment dibawah.
Tidak ada komentar:
Posting Komentar