Sebuah solusi caching baru bernama Pogocache telah diluncurkan, menjanjikan latensi yang sangat rendah dan efisiensi tinggi untuk aplikasi yang membutuhkan akses data cepat. Proyek ini berasal dari Josh Tidwall , yang juga dikenal karena menciptakan alat open-source terkenal lainnya seperti Tile38 dan paket Go gjson .
![]() |
---|
Halaman repositori GitHub Pogocache, tempat para developer dapat menemukan informasi dan sumber daya terkait solusi caching baru ini |
Dukungan Multi-Protokol Membuatnya Menonjol
Yang membuat Pogocache sangat menarik adalah kemampuannya untuk bekerja dengan beberapa protokol secara bersamaan. Pengguna dapat terhubung menggunakan permintaan HTTP , perintah Redis , atau bahkan koneksi klien PostgreSQL ke instance cache yang sama. Fleksibilitas ini berarti pengembang tidak perlu mengubah kode klien yang sudah ada atau mempelajari API baru - mereka dapat menggunakan protokol apa pun yang sudah mereka kuasai.
Pendekatan multi-protokol juga membuka beberapa kemungkinan kreatif. Misalnya, aplikasi web dapat menggunakan panggilan HTTP sementara layanan backend menggunakan perintah Redis , semuanya mengakses data cache yang sama.
Protokol yang Didukung:
- HTTP 1.1 dengan endpoint bergaya REST
- Perintah protokol Redis (set, get, delete, incr, decr, dll.)
- Protokol klien PostgreSQL
- Kompatibilitas protokol Memcache
Performa Melalui Optimisasi Manual
Ketika ditanya tentang klaim performa, pengembang menjelaskan bahwa Pogocache mencapai kecepatannya melalui optimisasi manual yang cermat daripada mengandalkan satu teknik terobosan. Fokusnya adalah meminimalkan kontention melalui teknik seperti sharded hashmap dan lapisan jaringan yang dibuat dengan hati-hati.
Proyek ini ditulis dalam ANSI C dan dirancang khusus untuk platform Linux dan macOS . Pendekatan tingkat rendah ini memungkinkan kontrol ketat atas alokasi memori dan sumber daya sistem, yang berkontribusi pada peningkatan performa.
Fitur Teknis Utama:
- Ditulis dalam ANSI C untuk Linux/macOS
- Arsitektur hashmap terfragmentasi untuk meminimalkan kontention
- Alokasi memori rendah melalui berbagi RAM yang dioptimalkan
- Opsi pustaka yang dapat disematkan untuk integrasi langsung
- Dukungan TLS/HTTPS untuk koneksi yang aman
- Mekanisme autentikasi yang dapat dikonfigurasi
Desain Library yang Dapat Disematkan
Tidak seperti banyak server cache yang berjalan sebagai proses terpisah, Pogocache juga dapat disematkan langsung ke dalam aplikasi sebagai library C . Pendekatan ini menghilangkan overhead jaringan untuk aplikasi yang dapat mengintegrasikan cache langsung ke dalam ruang proses mereka.
Desain yang dapat disematkan mencakup API C sederhana dengan fungsi untuk operasi dasar seperti get, set, delete, dan operasi increment. Ini membuatnya dapat diakses oleh aplikasi yang ditulis dalam C atau bahasa yang dapat memanggil library C .
Fungsi Inti C API:
pogocache_create()
- Inisialisasi instance cachepogocache_add()
- Menyimpan data dengan kuncipogocache_get()
- Mengambil data berdasarkan kuncipogocache_delete()
- Menghapus data berdasarkan kuncipogocache_incr()
- Menambah nilai numerikpogocache_free()
- Membersihkan sumber daya
Rencana Integrasi Database Masa Depan
Anggota komunitas menunjukkan minat khusus pada rencana integrasi database proyek ini. Pengembang menjelaskan bahwa daripada menjadi database SQL penuh, Pogocache bertujuan untuk bekerja bersama database yang sudah ada seperti SQLite , DuckDB , dan PostgreSQL sebagai lapisan caching transparan untuk operasi baca.
Tidak bermaksud membuat pogocache menjadi database sql. Saya lebih suka mempertahankannya sebagai cache. Lebih tepatnya mengeksplorasi cara untuk bekerja dengan database yang sudah ada seperti sqlite, duckdb, postgres. Seperti menyediakan operasi mirip proxy yang secara transparan meng-cache pembacaan sql.
Pendekatan ini dapat memberikan manfaat performa yang signifikan untuk aplikasi dengan beban kerja yang banyak membaca sambil menjaga kompleksitas sistem database penuh tetap terpisah.
Keamanan dan Autentikasi
Versi saat ini mencakup autentikasi dasar melalui parameter kata sandi command-line, meskipun umpan balik komunitas menunjukkan minat pada metode tambahan seperti variabel lingkungan atau autentikasi berbasis file. Proyek ini juga mendukung TLS/HTTPS untuk koneksi yang aman.
Pogocache merupakan tambahan yang menarik dalam lanskap caching, terutama untuk pengembang yang menginginkan fleksibilitas dukungan multi-protokol tanpa mengorbankan performa. Sifatnya yang dapat disematkan dan fitur integrasi database yang direncanakan dapat membuatnya menarik untuk aplikasi yang membutuhkan performa tinggi dan fleksibilitas deployment.
Referensi: pogocache