نقاط التفتيش والاستمرارية
حافظات نقاط التفتيش الإنتاجية
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 لأعلى إنتاجية، مؤقت ✅ دائماً استخدم غير المتزامن في الإنتاج
:::