Contoh Memcache

Halaman ini menyediakan contoh kode dalam Kode Python untuk menggunakan Memcache. Memcache adalah sistem caching objek memori terdistribusi berperforma tinggi yang menyediakan akses cepat ke data yang di-cache. Untuk mempelajari memcache lebih lanjut, baca Ringkasan Memcache.

Pola memcache

Memcache biasanya digunakan dengan pola berikut:

  • Aplikasi menerima kueri dari pengguna atau aplikasi.
  • Aplikasi memeriksa apakah data yang diperlukan untuk memenuhi kueri tersebut ada dalam memcache.
    • Jika data berada dalam memcache, aplikasi menggunakan data tersebut.
    • Jika data tidak berada dalam memcache, aplikasi akan melakukan kueri ke datastore dan menyimpan hasilnya dalam memcache untuk permintaan mendatang.

Kode semu di bawah ini mewakili permintaan memcache yang umum:

def get_data():
    data = memcache.get('key')
    if data is not None:
        return data
    else:
        data = query_for_data()
        memcache.add('key', data, 60)
    return data

ndb secara internal menggunakan memcache untuk mempercepat kueri. Namun, jika ingin, Anda juga dapat menambahkan panggilan memcache secara eksplisit untuk mendapatkan kontrol lebih besar terkait percepatan.

Meng-cache data

Contoh berikut menunjukkan beberapa cara untuk menetapkan nilai dalam memcache menggunakan Python API.

# Add a value if it doesn't exist in the cache
# with a cache expiration of 1 hour.
memcache.add(key="weather_USA_98105", value="raining", time=3600)

# Set several values, overwriting any existing values for these keys.
memcache.set_multi(
    {"USA_98115": "cloudy", "USA_94105": "foggy", "USA_94043": "sunny"},
    key_prefix="weather_",
    time=3600
)

# Atomically increment an integer value.
memcache.set(key="counter", value=0)
memcache.incr("counter")
memcache.incr("counter")
memcache.incr("counter")

Untuk mempelajari metode add(), set_multi(), dan set() lebih lanjut, lihat dokumentasi memcache Python API.