ホームページ >ウェブフロントエンド >jsチュートリアル >keyv-upstash の紹介: サーバーレス Redis 用のシームレスな Key-Value ストレージ
Github: https://github.com/mahdavipanah/keyv-upstash
keyv-upstash は、サーバーレス Redis プラットフォームである Upstash Redis に接続する Keyv 用のストレージ アダプターです。このアダプターを使用すると、サーバーレス アプリケーションでのキーと値のストレージのための、シンプル、効率的、柔軟なソリューションが得られます。
Keyv は、アダプターを通じて複数のバックエンドをサポートする多用途のキー/値ストレージ ライブラリです。それは以下を提供します:
TTL ベースの有効期限: キャッシュまたは永続ストレージに最適です。
名前空間のサポート: 共有環境でのキーの衝突を回避します。
拡張性: カスタム モジュールの構築や圧縮などの機能の追加が簡単です。
Keyv は、Redis、SQLite、MongoDB などの多くのアダプターで動作し、現在では Upstash Redis 用の keyv-upstash も動作します。
keyv-upstash は、Upstash Redis と統合することで Keyv の機能を拡張し、以下を提供します。
サーバーレス互換性: Upstash Redis は接続を管理せずに動作し、自動的にスケーリングするため、サーバーレス アプリに最適です。
柔軟性: Keyv のエコシステムと互換性があり、サードパーティの拡張機能をサポートします。
キャッシュの階層化: Cacheable と組み合わせて多層キャッシュを実現します。
ベンダー ロックインなし:serverless-redis-http と完全な互換性があるため、独自のサーバーレス Redis をセットアップして、このアダプターを使用できます。
次の手順に従って keyv-upstash を統合します。
Keyv と Upstash アダプターをインストールします:
npm install keyv keyv-upstash
オプション: 階層化キャッシュ用に Cacheable をインストールします:
npm install cacheable
Upstash で Redis データベースが作成されていることを確認してください。プロジェクトで keyv-upstash を使用する方法は次のとおりです:
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'
名前空間はキーの衝突を防ぎ、スコープ指定されたクリアを可能にします:
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'
keyv-upstash と Cacheable を組み合わせて多層キャッシュを実現します。
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'
setMany と getMany を使用してパフォーマンスを向上させます:
await keyv.setMany([ { key: 'key1', value: 'value1' }, { key: 'key2', value: 'value2' }, ]); const values = await keyv.getMany(['key1', 'key2']); console.log(values); // ['value1', 'value2']
defaultTtl、keyPrefixSeparator、clearBatchSize などのオプションを使用してセットアップをカスタマイズします。
以上がkeyv-upstash の紹介: サーバーレス Redis 用のシームレスな Key-Value ストレージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。