نقاط التفتيش والاستمرارية

حافظات نقاط التفتيش الإنتاجية

5 دقيقة للقراءة

اختيار حافظ نقاط التفتيش الصحيح (يناير 2026)

الحافظحالة الاستخدامالإنتاجيةالإعداد
MemorySaverالتطوير فقطالأسرعلا شيء
SqliteSaverمثيل واحدمتوسطمسار الملف
PostgresSaverموزع، متعدد المثيلاتعاليسلسلة الاتصال
RedisSaverإنتاجية عالية، مؤقتالأعلىعنوان Redis

SqliteSaver: إنتاج المثيل الواحد

from langgraph.checkpoint.sqlite import SqliteSaver

checkpointer = SqliteSaver.from_conn_string("./checkpoints.db")
app = graph.compile(checkpointer=checkpointer)

الأفضل لـ: نشر خادم واحد، تطبيقات مضمنة.


PostgresSaver: الإنتاج الموزع

from langgraph.checkpoint.postgres import PostgresSaver

checkpointer = PostgresSaver.from_conn_string(
    "postgresql://user:pass@localhost:5432/langgraph"
)

الأفضل لـ: نشر متعدد المثيلات، Kubernetes، توفر عالي.


RedisSaver: إنتاجية عالية مؤقتة

from langgraph.checkpoint.redis import RedisSaver

checkpointer = RedisSaver.from_conn_string(
    "redis://localhost:6379",
    ttl=86400  # 24 ساعة
)

الأفضل لـ: أعلى متطلبات إنتاجية، سير عمل قائم على الجلسة.


حافظات نقاط التفتيش غير المتزامنة

from langgraph.checkpoint.postgres.aio import AsyncPostgresSaver

async def setup_async_checkpointer():
    pool = await asyncpg.create_pool(connection_string)
    return AsyncPostgresSaver(pool)

لماذا غير المتزامن مهم: كتابات نقاط التفتيش لا تحجب التنفيذ الرئيسي. تحسين 3-5x في الإنتاجية.


أسئلة المقابلة

س: متى تستخدم PostgresSaver مقابل RedisSaver؟

"PostgresSaver للتخزين المتين طويل المدى—نشر متعدد المثيلات، متطلبات الامتثال. RedisSaver لأعلى إنتاجية مع نقاط تفتيش مؤقتة—تطبيقات الوقت الحقيقي."


النقاط الرئيسية

SqliteSaver لإنتاج المثيل الواحد ✅ PostgresSaver للموزع، متعدد المثيلات ✅ RedisSaver لأعلى إنتاجية، مؤقت ✅ دائماً استخدم غير المتزامن في الإنتاج

:::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 3: نقاط التفتيش والاستمرارية

خذ الاختبار