راکت

listener in database

3 پاسخ

سلام
دوستان من چجوری می تونم تغییرات دیتابیس و رصد کنم؟مثلا اگه رکورد جدیدی توش ثبت شد بلافاصه اونو بکشم بیرون(idو...)
البته می دونم با ای جکس .... میشه فقط می خام لهینه ترین راه بدونم که سرعت برنامه پایین نیاد.مثلا اگه دیتابیس من بزرگتر شد سرعتش افت نکنه..
تشکر

ثبت پرسش جدید

پاسخ‌ها

3
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

به نظر من میتونی از Event/Listener در لاراول استفاده کنید
یعنی هرجایی هرتغییر یا ایجادی رخ داده ایونت شما در اخر کارتون اجرا بشه و شما حالا یا با laravel echo و pusher اطلاعات رو بگیری و نمایش بدی یا با سوکت io

شاید راه حل های ساده تری هم وجود داشته باشه یا ابزاری برای اینکار باشه من بی اطلاع باشم چیزی که به ذهنم رسید گفتم.

Bahman Aliveisi
Bahman Aliveisi
@roj

میتونی از trigger استفاده کنی. یک جدول برای رویدادها درست کن مثلا events.
بعد برای جدولهایی که میخوای مانیتور کنی trigger بساز بطوریکه وقتی رکوردی اضافه یا آپدیت شد در جدول events ثبت کنه.
خواندن اطلاعات از یک جدول که دارای ستونهای کمتریست سریعتر خواهد بود. همچنین میتونی از timestamp استفاده کنی تا فقط اطلاعات جدید رو events انتخاب کنی.(زمان ثبت آخرین رکورد جدول events رو در جدول دیگه ثبت کن تا برای دفعه بعد از اون تاریخ به بعد بخونی)

شاید پاسخ شما همین‌جا باشد

محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

@malinacortova
ساده ترین و بهترین راه استفاده از Telescope هستش :
https://laravel.com/docs/7.x/telescope

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام