Skip to content

Upstash هو قاعدة بيانات Redis مُدارة بالكامل كخدمة. يعمل Upstash مع واجهة برمجة تطبيقات Redis®، مما يعني أنه يمكنك استخدام عميل Redis الأصلي لـ Bun للاتصال بقاعدة بيانات Upstash الخاصة بك.

NOTE

تمكين TLS افتراضيًا لجميع قواعد بيانات Upstash Redis.

إنشاء مشروع جديد">

أنشئ مشروعًا جديدًا بتشغيل `bun init`:

```sh
bun init bun-upstash-redis
cd bun-upstash-redis
```

إنشاء قاعدة بيانات Upstash Redis">

انتقل إلى [لوحة تحكم Upstash](https://console.upstash.com/) وأنشئ قاعدة بيانات Redis جديدة. بعد إكمال [دليل البدء](https://upstash.com/docs/redis/overall/getstarted)، سترى صفحة قاعدة البيانات الخاصة بك مع معلومات الاتصال.

تعرض صفحة قاعدة البيانات طريقتين للاتصال: HTTP و TLS. بالنسبة لعميل Redis الخاص بـ Bun، تحتاج إلى تفاصيل اتصال **TLS**. يبدأ عنوان URL هذا بـ `rediss://`.

	<Frame>
		![صفحة قاعدة بيانات Upstash Redis](/images/guides/upstash-1.png)
	</Frame>

الاتصال باستخدام عميل Redis الخاص بـ Bun">

	يمكنك الاتصال بـ Upstash عن طريق تعيين متغيرات البيئة مع عميل `redis` الافتراضي لـ Bun.

عيّن متغير البيئة `REDIS_URL` في ملف `.env` الخاص بك باستخدام نقطة نهاية Redis (وليس عنوان REST URL):

```ini .env
REDIS_URL=rediss://********@********.upstash.io:6379
```

يقرأ عميل Redis الخاص بـ Bun معلومات الاتصال من `REDIS_URL` بشكل افتراضي:

```ts index.ts
import { redis } from "bun";

// يقرأ من process.env.REDIS_URL تلقائيًا
await redis.set("counter", "0"); // [!code ++]
```

بدلاً من ذلك، يمكنك إنشاء عميل مخصص باستخدام `RedisClient`:

```ts index.ts
import { RedisClient } from "bun";

const redis = new RedisClient(process.env.REDIS_URL); // [!code ++]
```


#### استخدام عميل Redis">
	يمكنك الآن استخدام عميل Redis للتفاعل مع قاعدة بيانات Upstash Redis الخاصة بك:

	```ts index.ts
	import { redis } from "bun";

	// الحصول على قيمة
	let counter = await redis.get("counter");

	// تعيين قيمة إذا لم تكن موجودة
	if (!counter) {
		await redis.set("counter", "0");
	}

	// زيادة العداد
	await redis.incr("counter");

	// الحصول على القيمة المحدثة
	counter = await redis.get("counter");
	console.log(counter);
	```
	```txt
	1
	```

	يتعامل عميل Redis تلقائيًا مع الاتصالات في الخلفية. لا حاجة للاتصال أو قطع الاتصال يدويًا للعمليات الأساسية.

Bun بواسطة www.bunjs.com.cn تحرير