اتصال دائم به پایگاه داده در PHP
اتصال دائم (Persistent Connection) به پایگاه داده یکی از روشهای بهینهسازی ارتباطات در برنامههای PHP است. این نوع اتصال برای برنامههایی با درخواستهای مکرر و پرحجم مفید است، چرا که نیاز به باز و بسته کردن مکرر اتصال را کاهش میدهد.
فهرست مطالب
- اتصال به پایگاه داده در PHP چیست؟
- اتصال دائم به پایگاه داده چیست؟
- تفاوت اتصال دائم و موقت
- نحوه ایجاد اتصال دائم در PHP
- مزایا و معایب اتصال دائم
- لینکهای مطالعه پیشنهادی
اتصال به پایگاه داده در PHP چیست؟
اتصال به پایگاه داده فرآیندی است که در آن یک اسکریپت PHP به یک پایگاه داده (مانند MySQL) متصل میشود تا دادهها را خوانده، ذخیره کرده یا ویرایش کند. اتصال معمولاً با استفاده از توابع زیر برقرار میشود:
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
هر بار که اتصال برقرار شود، PHP ارتباطی موقت با سرور پایگاه داده ایجاد میکند.
اتصال دائم به پایگاه داده چیست؟
در اتصال دائم، ارتباط بین سرور PHP و پایگاه داده پس از اتمام اجرای اسکریپت بسته نمیشود. به جای آن، اتصال باز باقی میماند و برای درخواستهای بعدی استفاده میشود.
برای استفاده از اتصال دائم در PHP، میتوان از PDO
یا mysqli
به شکل زیر بهره برد:
$dsn = 'mysql:host=localhost;dbname=database';
$options = [
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
];
$pdo = new PDO($dsn, 'username', 'password', $options);
تفاوت اتصال دائم و موقت
ویژگی | اتصال موقت | اتصال دائم |
---|---|---|
زمان بسته شدن | پس از پایان اسکریپت بسته میشود | بعد از اتمام اسکریپت باز میماند |
کاربرد منابع | نیاز به باز و بسته کردن مجدد دارد | منابع کمتری مصرف میکند |
عملکرد | برای درخواستهای کم مناسب است | برای درخواستهای مکرر بهینه است |
نحوه ایجاد اتصال دائم در PHP
1. استفاده از PDO
$dsn = 'mysql:host=localhost;dbname=database';
$options = [
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
];
$pdo = new PDO($dsn, 'username', 'password', $options);
2. استفاده از mysqli (با stream context)
کتابخانه mysqli
بهطور مستقیم از اتصال دائم پشتیبانی نمیکند، اما میتوانید از stream_context
برای مدیریت این نوع اتصال استفاده کنید.
مزایا و معایب اتصال دائم
مزایا
- افزایش کارایی: زمان صرفشده برای باز و بسته کردن اتصال کاهش مییابد.
- مدیریت بهتر منابع: تعداد درخواستهای همزمان به سرور کاهش مییابد.
معایب
- حفظ اتصالات بلااستفاده: اگر اسکریپتها اتصال را باز نگه دارند اما استفاده نکنند، منابع هدر میرود.
- پیچیدگی در مدیریت خطا: مدیریت اشکالات در اتصال دائم ممکن است دشوارتر باشد.
لینکهای مطالعه پیشنهادی
- PHP PDO Persistent Connections – PHP Manual
- MySQL Persistent Connections – Stack Overflow
- Performance Optimization in PHP – Dev.to
جمعبندی
اتصال دائم به پایگاه داده یکی از راههای افزایش کارایی برنامههای PHP است. با این حال، انتخاب بین اتصال دائم و موقت باید با توجه به نیازهای پروژه انجام شود. اگر برنامه شما درخواستهای مکرر و همزمان زیادی دارد، اتصال دائم میتواند انتخاب مناسبی باشد.