Caching

term_id: caching

Category: engineering_practice

Definition

Dalam rekayasa AI, caching mengoptimalkan kinerja dengan menyimpan hasil kueri terbaru atau sering, prediksi model, atau komputasi perantara dalam memori cepat (seperti RAM). Hal ini mengurangi kebutuhan untuk melakukan perhitungan ulang atau akses ke penyimpanan lambat, sehingga meningkatkan kecepatan respons sistem secara signifikan.

Summary

Caching adalah teknik menyimpan data yang sering diakses dalam lapisan penyimpanan sementara berkecepatan tinggi untuk mengurangi latensi dan menurunkan beban pada sumber data utama.

Key Concepts

  • pengurangan latensi
  • optimasi memori
  • kebijakan penghapusan (eviction policies)
  • tingkat kecocokan (hit rate)

Use Cases

  • Menyimpan hasil inferensi model
  • Menyimpan keluaran kueri basis data
  • Pra-menghitung embedding fitur

Code Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import redis

# Simple caching example
r = redis.Redis(host='localhost', port=6379, db=0)

def get_prediction(model_id, input_data):
    cache_key = f"pred_{model_id}_{hash(str(input_data))}"
    result = r.get(cache_key)
    if result:
        return result.decode('utf-8')
    # Compute if not cached
    prediction = model.predict(input_data)
    r.setex(cache_key, 3600, str(prediction))
    return prediction