معرفی keyv-upstash: ذخیره سازی بدون درز کلید-مقدار برای Redis بدون سرور

Summarize this content to 400 words in Persian Lang
Github: https://github.com/mahdavipanah/keyv-upstash
keyv-upstash یک آداپتور ذخیره سازی برای Keyv است که آن را به Upstash Redis، یک پلت فرم بدون سرور Redis متصل می کند. با این آداپتور، یک راه حل ساده، کارآمد و انعطاف پذیر برای ذخیره سازی کلید-مقدار در برنامه های بدون سرور دریافت می کنید.
کیو چیست؟
Keyv یک کتابخانه ذخیره سازی کلید-مقدار همه کاره است که از چندین Backend از طریق آداپتورها پشتیبانی می کند. فراهم می کند:
انقضا مبتنی بر TTL: ایده آل برای حافظه پنهان یا ذخیره سازی مداوم.
پشتیبانی از فضای نام: از برخورد کلید در محیط های مشترک جلوگیری می کند.
توسعه پذیری: ساخت ماژول های سفارشی یا اضافه کردن ویژگی هایی مانند فشرده سازی آسان است.
Keyv با بسیاری از آداپتورها مانند Redis، SQLite، MongoDB و اکنون کار می کند. keyv-upstash برای Upstash Redis.
چرا keyv-upstash?
keyv-upstash قابلیت های Keyv را با ادغام آن با Upstash Redis گسترش می دهد و ارائه می دهد:
سازگاری بدون سرور: Upstash Redis بدون مدیریت اتصالات کار می کند، به صورت خودکار مقیاس بندی می شود، برای برنامه های بدون سرور عالی است.
انعطاف پذیر: سازگار با اکوسیستم Keyv و پشتیبانی از برنامه های افزودنی شخص ثالث.
لایه بندی کش: برای ذخیره چند لایه با Cacheable ترکیب کنید.
بدون قفل فروشنده: کاملاً با serverless-redis-http سازگار است، بنابراین می توانید Redis بدون سرور خود را راه اندازی کنید و از این آداپتور با آن استفاده کنید.
شروع به کار
برای ادغام این مراحل را دنبال کنید keyv-upstash:
1. Keyv و را نصب کنید keyv-upstash
Keyv و آداپتور Upstash را نصب کنید:
npm install keyv keyv-upstash
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اختیاری: Cacheable را برای کش لایه ای نصب کنید:
npm install cacheable
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
2. راه اندازی کنید keyv-upstash
مطمئن شوید که یک پایگاه داده Redis ایجاد شده در Upstash دارید. در اینجا نحوه استفاده آمده است 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’
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
لایه بندی کش با Cacheable
ترکیب کنید 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.
Github: https://github.com/mahdavipanah/keyv-upstash
keyv-upstash
یک آداپتور ذخیره سازی برای Keyv است که آن را به Upstash Redis، یک پلت فرم بدون سرور Redis متصل می کند. با این آداپتور، یک راه حل ساده، کارآمد و انعطاف پذیر برای ذخیره سازی کلید-مقدار در برنامه های بدون سرور دریافت می کنید.
کیو چیست؟
Keyv یک کتابخانه ذخیره سازی کلید-مقدار همه کاره است که از چندین Backend از طریق آداپتورها پشتیبانی می کند. فراهم می کند:
-
انقضا مبتنی بر TTL: ایده آل برای حافظه پنهان یا ذخیره سازی مداوم.
-
پشتیبانی از فضای نام: از برخورد کلید در محیط های مشترک جلوگیری می کند.
-
توسعه پذیری: ساخت ماژول های سفارشی یا اضافه کردن ویژگی هایی مانند فشرده سازی آسان است.
Keyv با بسیاری از آداپتورها مانند Redis، SQLite، MongoDB و اکنون کار می کند. keyv-upstash
برای Upstash Redis.
چرا keyv-upstash
?
keyv-upstash
قابلیت های Keyv را با ادغام آن با Upstash Redis گسترش می دهد و ارائه می دهد:
-
سازگاری بدون سرور: Upstash Redis بدون مدیریت اتصالات کار می کند، به صورت خودکار مقیاس بندی می شود، برای برنامه های بدون سرور عالی است.
-
انعطاف پذیر: سازگار با اکوسیستم Keyv و پشتیبانی از برنامه های افزودنی شخص ثالث.
-
لایه بندی کش: برای ذخیره چند لایه با Cacheable ترکیب کنید.
-
بدون قفل فروشنده: کاملاً با serverless-redis-http سازگار است، بنابراین می توانید Redis بدون سرور خود را راه اندازی کنید و از این آداپتور با آن استفاده کنید.
شروع به کار
برای ادغام این مراحل را دنبال کنید keyv-upstash
:
1. Keyv و را نصب کنید keyv-upstash
Keyv و آداپتور Upstash را نصب کنید:
npm install keyv keyv-upstash
اختیاری: Cacheable را برای کش لایه ای نصب کنید:
npm install cacheable
2. راه اندازی کنید keyv-upstash
مطمئن شوید که یک پایگاه داده Redis ایجاد شده در Upstash دارید. در اینجا نحوه استفاده آمده است 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'
لایه بندی کش با Cacheable
ترکیب کنید 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
.