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

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

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: نقاط التفتيش والاستمرارية

خذ الاختبار