Memcached #
Memcached adalah sistem caching objek memori terdistribusi, digunakan untuk mempercepat aplikasi web dinamis dengan mengurangi beban basis data. Memcached menyimpan data dalam memori (RAM) untuk akses cepat, yang membuatnya ideal untuk caching hasil query database, sesi pengguna, dan objek data yang sering diakses.
1. Instalasi Memcached #
Jika belum terinstal, Memcached dapat diinstal melalui package manager sesuai dengan sistem operasi yang digunakan. Contoh untuk Ubuntu:
sudo apt update
sudo apt install memcached
Setelah instalasi, pastikan Memcached berjalan dengan memulai layanan Memcached:
sudo systemctl start memcached
sudo systemctl enable memcached
2. Instalasi Client untuk Python #
Untuk menghubungkan Python dengan Memcached, kita bisa menggunakan library pymemcache
atau python-memcached
. Berikut adalah cara menginstal pymemcache
:
pip install pymemcache
3. Menghubungkan Memcached dengan Python #
Berikut adalah contoh bagaimana menghubungkan dan melakukan operasi dasar menggunakan pymemcache
:
from pymemcache.client import base
# Membuat koneksi ke server Memcached
client = base.Client(('localhost', 11211))
# Operasi dasar pada Memcached
# 1. Menyimpan data
client.set('foo', 'bar')
# 2. Mengambil data
value = client.get('foo')
print(value) # Output: b'bar'
# 3. Menyimpan data dengan waktu kadaluarsa (TTL)
client.set('baz', 'qux', expire=10) # Data akan kadaluarsa dalam 10 detik
# 4. Menghapus data
client.delete('foo')
value = client.get('foo')
print(value) # Output: None
4. Operasi Lanjutan #
Memcached juga mendukung berbagai operasi lanjutan seperti penambahan dan pengurangan nilai numerik, operasi batch, dan lain-lain. Berikut adalah beberapa contoh:
# 1. Penambahan nilai numerik
client.set('counter', 1)
client.incr('counter', 1) # Increment counter by 1
value = client.get('counter')
print(value) # Output: b'2'
# 2. Pengurangan nilai numerik
client.decr('counter', 1) # Decrement counter by 1
value = client.get('counter')
print(value) # Output: b'1'
# 3. Operasi batch
client.set_many({'key1': 'value1', 'key2': 'value2'})
values = client.get_many(['key1', 'key2'])
print(values) # Output: {b'key1': b'value1', b'key2': b'value2'}
Kesimpulan #
Memcached adalah alat yang sangat efektif untuk caching data dalam aplikasi web, membantu mengurangi beban pada database dan meningkatkan performa aplikasi. Dengan library seperti pymemcache
, integrasi Memcached dengan aplikasi Python menjadi sederhana dan efisien. Untuk mempelajari lebih lanjut, Anda bisa merujuk ke dokumentasi resmi Memcached dan pymemcache
.