سلام
من یه بررسی انجام دادم برای سیستم کش اطلاعات بر پایه file و یا redis در فریم ورک Laravel.
فراخوانی یک داده بزرگ از Mysql نزدیک 13 ثانیه زمان می بره.
فراخوانی همون اطلاعات از cache فایل لاراول کمتر از یک ثانیه زمان و در حدود 0.6 ثانیه زمان نیاز دارد.
همان داده با Redis چیزی در حدود 7 ثانیه زمان می برد.
تصور من این بود که Redis چون از رم استفاده می کنه زمان کمتری از ذخیره اطلاعات در فایل نیاز داشته باشه.
کسی می تونه این تفاوت زمانی رو توضیح بده؟
ممنون
معمولا هنگامی که روی سرور هم از Redis استفاده میشه تنظیماتش رو بهینه میکنند .. maxmemory رو براش تعریف میکنند و اینها
گذشته از این چون در Redis از رَم استفاده میشه و سرعت رم بیشتر از سرعت دیسک هست.. قاعدتا باید سرعتش هم بالاتر باشه.
نتایج زیر مربوط به تست درایورهای مختلف کشینگ، در یه اپلیکیشن لاراولیه..
چنانچه به درستی از Redis استفاده کنید باید نتایجتون شبیه به مورد بالا باشه
موفق باشید
درود.
به ترتیب زمان اگر بخواهیم درایورهای سیستم کشینگ لاراول رو بررسی کنیم
اول file بعدش Memchached و در نهایت Redis که سرعتش از همه بیشتره
تنظیمات Redis بصورت پیش فرض هست؟ چیزی رو عوض نکردید؟
آره همه تنظیمات به صورت پیش فرضه.
من تصورم این بود که Redis بدلیل اجرا شدن در رم باید سریع تر از file باشه.
@ali.bayat
حدس میزنم ترتیبی که برای سرعت بیان کردین معکوس گفته باشید (شاید منظورتون رو بد بیان کردین).
موفق باشید.
@khanzadimahdi
درود
من به ترتیب از کند به تند گفتم. اما بهتر بود گزینهها رو تو لیست میزاشتم که واضحتر بشه.
@ali.bayat
درود.
شاید اینجا جاش نباشه ولی میپرسم.
ببخشید آقای بیات من قصد یادگیری لاراول داشتم و نسخه ی فعلی لاراول 6 هست
سایت راکت روی نسخه ی 5.4 5.7 کار کرده
و من باید این نسخه ها کارکنم و منتظر دوره ی جدید باشم؟
و ایکه لاروال 6 تغییرات زیادی داشته؟
بهترین راه حل چی میتونه باشه از نظر شما/؟
@sep28
درود
فکر میکنم برای این سوالت یه تاپیک بوجود بیارید بهتر باشه
اما بهطور خلاصه در نسخههای جدید همه چیز عوض نمیشه.. تفاوت نسخه ۵.۸ با ۶ در یه سری موارد هست که مستندات بهش اشاره داره
آپگرید ۵.۷ به ۵.۸: https://laravel.com/docs/5.8/upgrade
آپگرید ۵.۸ به ۶: https://laravel.com/docs/6.x/upgrade
معمولا هنگامی که روی سرور هم از Redis استفاده میشه تنظیماتش رو بهینه میکنند .. maxmemory رو براش تعریف میکنند و اینها
گذشته از این چون در Redis از رَم استفاده میشه و سرعت رم بیشتر از سرعت دیسک هست.. قاعدتا باید سرعتش هم بالاتر باشه.
نتایج زیر مربوط به تست درایورهای مختلف کشینگ، در یه اپلیکیشن لاراولیه..
چنانچه به درستی از Redis استفاده کنید باید نتایجتون شبیه به مورد بالا باشه
موفق باشید
@esmahdim
البته مثل همیشه آقای @ali.bayat با احساس مسئولیت بالا داره سوالارو جواب میده. منم یه نکته ای در تکمیل فرمایشات ایشون به ذهنم ردیس که اینجا برات توضیح میدم.
ببین ردیس طبیعتا به دلیل درگیر نکردن io از همه موارد سریعتر هستش . ( اینجا منظورم از io ذخیره شدن یا نوشته شدن روی دیسک و خوانده شدن اطلاعات از روی دیسک هستش) به همچین خصوصیتی میگن non-persistent.
حالا یه نکته ای وجود داره ، ممکنه توی تنظیمات ردیس پارامتری مبتنی بر ذخیره اطلاعات روی دیسک (هارد) طوری مقدار گرفته باشه که ردیس هربار دیتارو روی هارد بنویسه که در این صورت به شدت راندمان ردیس پایین میاد.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟