Github: https://github.com/mahdavipanah/keyv-upstash
keyv-upstash ialah penyesuai storan untuk Keyv yang menyambungkannya kepada Upstash Redis, platform Redis tanpa pelayan. Dengan penyesuai ini, anda mendapat penyelesaian yang mudah, cekap dan fleksibel untuk storan nilai kunci dalam aplikasi tanpa pelayan.
Keyv ialah perpustakaan storan nilai kunci serba boleh yang menyokong berbilang hujung belakang melalui penyesuai. Ia menyediakan:
TTL-based Expiry: Ideal untuk caching atau storan berterusan.
Sokongan Ruang Nama: Mengelakkan perlanggaran utama dalam persekitaran kongsi.
Kebolehlanjutan: Mudah untuk membina modul tersuai atau menambah ciri seperti pemampatan.
Keyv berfungsi dengan banyak penyesuai, seperti Redis, SQLite, MongoDB dan kini, keyv-upstash untuk Upstash Redis.
keyv-upstash memanjangkan keupayaan Keyv dengan menyepadukannya dengan Upstash Redis, menawarkan:
Keserasian Tanpa Pelayan: Upstash Redis berfungsi tanpa mengurus sambungan, menskala secara automatik, sesuai untuk apl tanpa pelayan.
Fleksibel: Serasi dengan ekosistem Keyv dan menyokong sambungan pihak ketiga.
Lapisan Cache: Gabungkan dengan Cacheable untuk caching berbilang lapisan.
Tiada Vendor Lock-In: Serasi sepenuhnya dengan serverless-redis-http supaya anda boleh menyediakan Redis tanpa pelayan anda sendiri dan menggunakan penyesuai ini dengannya.
Ikuti langkah ini untuk menyepadukan keyv-upstash:
Pasang Keyv dan penyesuai Upstash:
npm install keyv keyv-upstash
Pilihan: Pasang Cacheable untuk cache berlapis:
npm install cacheable
Pastikan anda mempunyai pangkalan data Redis yang dibuat dalam Upstash. Berikut ialah cara menggunakan keyv-upstash dalam projek anda:
import Keyv from 'keyv'; import { KeyvUpstash } from 'keyv-upstash'; const keyv = new Keyv({ store: new KeyvUpstash({ url: 'your-upstash-redis-url', token: 'your-upstash-redis-token', }), }); // Set a key-value pair await keyv.set('foo', 'bar'); // Retrieve the value const value = await keyv.get('foo'); console.log(value); // 'bar'
Ruang nama menghalang perlanggaran utama dan membenarkan pembersihan berskop:
const keyv = new Keyv({ store: new KeyvUpstash({ url: 'your-upstash-redis-url', token: 'your-upstash-redis-token', namespace: 'my-namespace', }), }); await keyv.set('foo', 'bar'); // Stored as 'my-namespace::foo'
Gabungkan keyv-upstash dengan Cacheable untuk caching berbilang lapisan:
import { Cacheable } from 'cacheable'; const redisStore = new KeyvUpstash({ url: 'your-upstash-redis-url', token: 'your-upstash-redis-token', }); const cache = new Cacheable({ primary: new Map(), // Fast in-memory caching secondary: redisStore, // Persistent Redis caching }); await cache.set('foo', 'bar', { ttl: 1000 }); // Stores in both layers const value = await cache.get('foo'); // Fast lookup from memory or Redis console.log(value); // 'bar'
Tingkatkan prestasi dengan setMany dan getMany:
await keyv.setMany([ { key: 'key1', value: 'value1' }, { key: 'key2', value: 'value2' }, ]); const values = await keyv.getMany(['key1', 'key2']); console.log(values); // ['value1', 'value2']
Sesuaikan persediaan anda dengan pilihan seperti defaultTtl, keyPrefixSeparator dan clearBatchSize.
Atas ialah kandungan terperinci Memperkenalkan keyv-upstash: Storan Nilai Kunci Lancar untuk Redis Tanpa Pelayan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!