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


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