CacheClient API
Constructor
typescript
new CacheClient(config: ClientConfig)Tham số
| Param | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
| config.host | string | "127.0.0.1" | Hostname server |
| config.port | number | 3000 | Port server |
| config.retryAttempts | number | 3 | Số lần thử lại khi lỗi |
| config.retryDelay | number | 1000 | Delay giữa các lần thử (ms) |
| config.timeout | number | 5000 | Timeout request (ms) |
Phương thức
connect(): Promise<void>
Kết nối đến cache server.
typescript
import { CacheClient } from "distributed-cache";
const client = new CacheClient({
host: "127.0.0.1",
port: 3000,
});
await client.connect();
console.log("Đã kết nối đến cache server");disconnect(): Promise<void>
Ngắt kết nối khỏi server.
typescript
await client.disconnect();get(key: string): Promise<Value | null>
Lấy value từ cache.
typescript
const user = await client.get("user:123");
if (user) {
console.log(user); // { name: "John", email: "john@example.com" }
} else {
console.log("Cache miss");
}set(key: string, value: Value, ttl?: number): Promise<void>
Lưu value vào cache.
typescript
// Lưu không có TTL
await client.set("user:123", { name: "John" });
// Lưu với TTL (5 giây)
await client.set("temp:data", "value", 5000);del(key: string): Promise<boolean>
Xóa key khỏi cache.
typescript
const deleted = await client.del("user:123");
console.log(deleted); // true nếu tồn tại, false nếu khôngping(): Promise<boolean>
Kiểm tra server có phản hồi không.
typescript
const alive = await client.ping();
if (alive) {
console.log("Server đang phản hồi");
}isClientConnected(): boolean
Kiểm tra client có đang kết nối không.
typescript
if (client.isClientConnected()) {
// an toàn để gửi request
}Interfaces
ClientConfig
typescript
interface ClientConfig {
host: string; // mặc định: "127.0.0.1"
port: number; // mặc định: 3000
retryAttempts: number; // mặc định: 3
retryDelay: number; // mặc định: 1000
timeout: number; // mặc định: 5000
}Ví dụ
typescript
import { CacheClient } from "distributed-cache";
const client = new CacheClient({
host: "127.0.0.1",
port: 3000,
retryAttempts: 3,
retryDelay: 1000,
timeout: 5000,
});
await client.connect();
// Lưu user session
await client.set("session:abc", { userId: 123, role: "admin" }, 3600000);
// Lấy session
const session = await client.get("session:abc");
console.log(session); // { userId: 123, role: "admin" }
// Xóa session khi logout
await client.del("session:abc");
await client.disconnect();