Rumah > hujung hadapan web > tutorial js > Memperkenalkan keyv-upstash: Storan Nilai Kunci Lancar untuk Redis Tanpa Pelayan

Memperkenalkan keyv-upstash: Storan Nilai Kunci Lancar untuk Redis Tanpa Pelayan

Barbara Streisand
Lepaskan: 2024-12-26 14:45:10
asal
456 orang telah melayarinya

Introducing keyv-upstash: Seamless Key-Value Storage for Serverless Redis

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.

Apa itu Keyv?

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.


Mengapa keyv-upstash?

keyv-upstash memanjangkan keupayaan Keyv dengan menyepadukannya dengan Upstash Redis, menawarkan:

  1. Keserasian Tanpa Pelayan: Upstash Redis berfungsi tanpa mengurus sambungan, menskala secara automatik, sesuai untuk apl tanpa pelayan.

  2. Fleksibel: Serasi dengan ekosistem Keyv dan menyokong sambungan pihak ketiga.

  3. Lapisan Cache: Gabungkan dengan Cacheable untuk caching berbilang lapisan.

  4. Tiada Vendor Lock-In: Serasi sepenuhnya dengan serverless-redis-http supaya anda boleh menyediakan Redis tanpa pelayan anda sendiri dan menggunakan penyesuai ini dengannya.


Bermula

Ikuti langkah ini untuk menyepadukan keyv-upstash:

1. Pasang Keyv dan keyv-upstash

Pasang Keyv dan penyesuai Upstash:

npm install keyv keyv-upstash
Salin selepas log masuk

Pilihan: Pasang Cacheable untuk cache berlapis:

npm install cacheable
Salin selepas log masuk

2. Sediakan keyv-upstash

Pastikan anda mempunyai pangkalan data Redis yang dibuat dalam Upstash. Berikut ialah cara menggunakan keyv-upstash dalam projek anda:

Penggunaan Asas

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'
Salin selepas log masuk

Menggunakan Ruang Nama

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'
Salin selepas log masuk

Lapisan Cache dengan Boleh Cacheable

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'
Salin selepas log masuk

Ciri Lanjutan

Operasi Kelompok

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']
Salin selepas log masuk

Konfigurasi Tersuai

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan