Pogocache: Giải Pháp Caching Siêu Nhanh, Tiết Kiệm CPU

Pogocache là phần mềm caching mã nguồn mở được xây dựng từ đầu với tiêu chí tối ưu độ trễ thấp và hiệu suất CPU vượt trội. Với khả năng mở rộng từ một đến nhiều nhân, Pogocache mang lại hiệu năng đơn luồng và đa luồng hàng đầu trong phân khúc.

Tại Sao Nên Chọn Pogocache?

Tốc Độ Vượt Trội

Pogocache tự hào có hiệu suất vượt trội so với các giải pháp caching phổ biến như Memcache, Valkey, Redis, Dragonfly và Garnet. Nó được đo lường có độ trễ thấp nhất mỗi yêu cầu, đảm bảo thời gian phản hồi nhanh nhất có thể.

Tiết Kiệm Chi Phí Vận Hành

Với thiết kế tối ưu hóa số chu kỳ CPU sử dụng cho mỗi yêu cầu, Pogocache giúp giảm tải server đáng kể, từ đó tiết kiệm năng lượng và chi phí vận hành tổng thể.

Tích Hợp Linh Hoạt

Pogocache hỗ trợ đa dạng giao thức bao gồm Memcache, Valkey/Redis, HTTP và Postgres, cho phép sử dụng các công cụ hệ thống phổ biến như curl, psql cùng nhiều thư viện client có sẵn cho hầu hết ngôn ngữ lập trình.

Tính Năng Nổi Bật

  • Tích hợp nhúng: Bạn có thể biên dịch trực tiếp file pogocache.c vào phần mềm hiện có để truy cập cache theo chương trình, đạt hiệu suất cực cao (hơn 100 triệu thao tác/giây).
  • Kiến trúc shard hashmap: Sử dụng 4096 shard với kỹ thuật Robin hood hashing mang lại hiệu suất tìm kiếm và lưu trữ vượt trội.
  • Quản lý bộ nhớ thông minh: Hệ thống tự động thu hồi bộ nhớ khi cần thiết bằng thuật toán 2-random và cơ chế sweep.

Cách Thức Hoạt Động

Pogocache được thiết kế để chạy hiệu quả trên nền tảng 64-bit Linux và MacOS. Quá trình cài đặt cực kỳ đơn giản:

make
./pogocache

Server sẽ khởi động trên localhost (127.0.0.1) cổng 9401. Để cho phép kết nối từ máy khác, bạn có thể bind listener đến địa chỉ IP có thể truy cập:

./pogocache -h 172.30.2.84

Ví Dụ Sử Dụng

Dưới đây là một số ví dụ thực tế về cách tương tác với Pogocache:

Sử dụng curl:

curl -X PUT -d "my value" http://localhost:9401/mykey
curl http://localhost:9401/mykey
curl -X DELETE http://localhost:9401/mykey

Sử dụng RESP (Valkey/Redis):

valkey-cli -p 9401
> SET mykey value
> GET mykey
> DEL mykey

Sử dụng psql (Postgres):

psql -h localhost -p 9401
=> SET mykey 'my value';
=> GET mykey;
=> DEL mykey;

An Ninh & Bảo Mật

Pogocache cung cấp các tính năng bảo mật mạnh mẽ:

TLS/HTTPS

Bạn có thể khởi động Pogocache với các cờ TLS để bảo mật kết nối:

pogocache -p 0 --tlsport 9401 --tlscert pogocache.crt --tlskey pogocache.key --tlscacert ca.crt

Xác Thực Mật Khẩu

Sử dụng cờ –auth để yêu cầu mật khẩu cho tất cả kết nối:

pogocache --auth mypass

Các client sau đó cần cung cấp mật khẩu tương ứng để kết nối.

Tích Hợp Vào Dự Án Hiện Có

File pogocache.c trong thư mục src là một thư viện độc lập có thể biên dịch trực tiếp vào dự án C hiện có. Dưới đây là ví dụ tích hợp:

#include <stdio.h>
#include "pogocache.h"

int main(void) {
    struct pogocache *cache = pogocache_new(0);
    pogocache_store(cache, "user:1391:name", 14, "Tom", 3, 0);
    // Các thao tác khác...
    return 0;
}

Lộ Trình Phát Triển

Pogocache đang tập trung vào các hướng phát triển:

  • Tích hợp chuyên sâu cho các lĩnh vực web, SQL, prompts và địa lý
  • Hỗ trợ truy cập trực tiếp qua bộ nhớ chia sẻ và IPC
  • Cung cấp công cụ doanh nghiệp như định tuyến phân tán và failover

Pogocache là phần mềm mã nguồn mở miễn phí được phát hành theo giấy phép AGPL. Để biết thêm về các tùy chọn cấp phép thay thế, vui lòng liên hệ với nhóm phát triển.

Chỉ mục