راکت
حل شده

کش سیستم Redis یا فایل در Laravel

13 پاسخ

سلام
من یه بررسی انجام دادم برای سیستم کش اطلاعات بر پایه file و یا redis در فریم ورک Laravel.
فراخوانی یک داده بزرگ از Mysql نزدیک 13 ثانیه زمان می بره.
فراخوانی همون اطلاعات از cache فایل لاراول کمتر از یک ثانیه زمان و در حدود 0.6 ثانیه زمان نیاز دارد.
همان داده با Redis چیزی در حدود 7 ثانیه زمان می برد.
تصور من این بود که Redis چون از رم استفاده می کنه زمان کمتری از ذخیره اطلاعات در فایل نیاز داشته باشه.
کسی می تونه این تفاوت زمانی رو توضیح بده؟
ممنون

ثبت پرسش جدید

پاسخ‌ها

13
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بهترین پاسخ

معمولا هنگامی که روی سرور هم از Redis استفاده میشه تنظیماتش رو بهینه میکنند .. maxmemory رو براش تعریف میکنند و اینها

گذشته از این چون در Redis از رَم استفاده میشه و سرعت رم بیشتر از سرعت دیسک هست.. قاعدتا باید سرعتش هم بالاتر باشه.
نتایج زیر مربوط به تست درایور‌های مختلف کشینگ، در یه اپلیکیشن لاراولیه..

چنانچه به درستی از Redis استفاده کنید باید نتایجتون شبیه به مورد بالا باشه
موفق باشید

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

درود.
به ترتیب زمان اگر بخواهیم درایورهای سیستم کشینگ لاراول رو بررسی کنیم
اول file بعدش Memchached و در نهایت Redis که سرعتش از همه بیشتره
تنظیمات Redis بصورت پیش فرض هست؟ چیزی رو عوض نکردید؟

mahdi
mahdi
@esmahdim

تخصص: برنامه نویس ...

آره همه تنظیمات به صورت پیش فرضه.
من تصورم این بود که Redis بدلیل اجرا شدن در رم باید سریع تر از file باشه.

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

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

@ali.bayat
حدس میزنم ترتیبی که برای سرعت بیان کردین معکوس گفته باشید (شاید منظورتون رو بد بیان کردین).

موفق باشید.

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

@khanzadimahdi
درود
من به ترتیب از کند به تند گفتم. اما بهتر بود گزینه‌ها رو تو لیست میزاشتم که واضح‌تر بشه.

علیرضا
علیرضا
@sep28

تخصص: فرانت اند وب

@ali.bayat
درود.
شاید اینجا جاش نباشه ولی میپرسم.
ببخشید آقای بیات من قصد یادگیری لاراول داشتم و نسخه ی فعلی لاراول 6 هست
سایت راکت روی نسخه ی 5.4 5.7 کار کرده
و من باید این نسخه ها کارکنم و منتظر دوره ی جدید باشم؟
و ایکه لاروال 6 تغییرات زیادی داشته؟
بهترین راه حل چی میتونه باشه از نظر شما/؟

mahdi
mahdi
@esmahdim

تخصص: برنامه نویس ...

ببینید تو تستی که من گرفتم Redis خیلی کندتر از file بود، دلیلش چی می تونه باشه؟

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

@esmahdim
روی سرور دارید تست می‌کنید؟

mahdi
mahdi
@esmahdim

تخصص: برنامه نویس ...

@ali.bayat
من همه رو روی یک سیستم ویندوزی خودم دارم.

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

@sep28
درود
فکر میکنم برای این سوالت یه تاپیک بوجود بیارید بهتر باشه
اما به‌طور خلاصه در نسخه‌‌های جدید همه چیز عوض نمیشه.. تفاوت نسخه ۵.۸ با ۶ در یه سری موارد هست که مستندات بهش اشاره داره
آپگرید ۵.۷ به ۵.۸: https://laravel.com/docs/5.8/upgrade

آپگرید ۵.۸ به ۶: https://laravel.com/docs/6.x/upgrade

1masoud
1masoud
@masoudproton

تخصص: php,laravel

@ali.bayat این نتایج رو چطوری بدست بیاریم

1masoud
1masoud
@masoudproton

تخصص: php,laravel

علیرضا دینی
علیرضا دینی
@alirezadini

تخصص: برنامه نویس

@esmahdim
البته مثل همیشه آقای @ali.bayat با احساس مسئولیت بالا داره سوالارو جواب میده. منم یه نکته ای در تکمیل فرمایشات ایشون به ذهنم ردیس که اینجا برات توضیح میدم.
ببین ردیس طبیعتا به دلیل درگیر نکردن io از همه موارد سریعتر هستش . ( اینجا منظورم از io ذخیره شدن یا نوشته شدن روی دیسک و خوانده شدن اطلاعات از روی دیسک هستش) به همچین خصوصیتی میگن non-persistent.
حالا یه نکته ای وجود داره ، ممکنه توی تنظیمات ردیس پارامتری مبتنی بر ذخیره اطلاعات روی دیسک (هارد) طوری مقدار گرفته باشه که ردیس هربار دیتارو روی هارد بنویسه که در این صورت به شدت راندمان ردیس پایین میاد.

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

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