تواصل معنا
Webflow Premium Partner إيهاب فايز
العودة لأدوات AI Coding
البيانات والتحليلات

Upstash Serverless Redis/Kafka

استخدام Upstash لـ Redis وKafka بدون خادم مع تسعير لكل طلب ونسخ عالمي لحوسبة الحافة.

Claude Code Cursor Copilot Windsurf Gemini CLI

نظرة عامة

يوفر Upstash Redis وKafka بدون خادم مع واجهات برمجة تطبيقات قائمة على HTTP مصممة لبيئات بدون خادم وحافة. على عكس Redis التقليدي الذي يتطلب اتصالات TCP مستمرة يستخدم Upstash Redis واجهة REST API تعمل في Cloudflare Workers وVercel Edge Functions وAWS Lambda وأي بيئة تدعم HTTP. تسعير لكل طلب يعني أنك لا تدفع شيئاً عندما لا يوجد حركة مرور.

يوفر عميل @upstash/redis واجهة مكتوبة بالكامل لجميع أوامر Redis مع دعم مدمج للتسلسل/إلغاء التسلسل التلقائي لقيم JSON. يدعم Upstash Redis جميع هياكل البيانات والأوامر القياسية لـ Redis بالإضافة إلى النسخ العالمي لقراءات بزمن استجابة منخفض عالمياً. تتضمن المنصة حزم تحديد المعدل المدمجة (@upstash/ratelimit) والبحث المتجهي (@upstash/vector).

يوفر Upstash Kafka خدمة Kafka بدون خادم بنفس نموذج HTTP أولاً والدفع لكل طلب. يمكن تدفق الأحداث وطوابير الرسائل وتجميع السجلات بدون إدارة مجموعات Kafka. توفر خدمة QStash طوابير رسائل قائمة على HTTP مع تسليم مضمون وجدولة ومنطق إعادة المحاولة. جميع خدمات Upstash تتضمن طبقة مجانية سخية مناسبة للتطوير وأحمال العمل الإنتاجية الصغيرة.

لمن هذه الأداة؟

  • إضافة تخزين Redis المؤقت للدوال بدون خادم دون مشاكل اتصال
  • تنفيذ تحديد المعدل لنقاط نهاية API مع @upstash/ratelimit
  • بناء بنيات مدفوعة بالأحداث مع Kafka بدون خادم
  • جدولة مهام خلفية مع طابور رسائل QStash

التثبيت

إعداد Claude Code
npm install @upstash/redis

الإعدادات

import { Redis } from "@upstash/redis"

const redis = new Redis({
  url: process.env.UPSTASH_REDIS_REST_URL!,
  token: process.env.UPSTASH_REDIS_REST_TOKEN!,
})

await redis.set("user:123", { name: "John", plan: "pro" }, { ex: 3600 })
const user = await redis.get("user:123")

import { Ratelimit } from "@upstash/ratelimit"
const ratelimit = new Ratelimit({
  redis,
  limiter: Ratelimit.slidingWindow(10, "10 s"),
})
const { success } = await ratelimit.limit("user:123")