CybernatiC
composer create-project --prefer-dist --stability=dev trntv/yii2-starter-kit
Сергей
Artem
Все привет!) У меня есть такой интересный вопрос. Вот у Yii2 есть кэширование страницы, есть кэширование фрагментов. Кэширование страницы как-то проще, прописываешь в контроллере и всё. Но зато кэширвоание фрагментов может логично закэшировать допустим только вывод списка записей, а не всю страницу вместе с шапкой и футером. Так вот, мне интересно, какая лучшая практика использования этих кэшей? Стоит ли заморачиваться кэшированиями фрагументов, если на странице только одна цель кэширования (список записей)?
👻
Если ты имеешь в виду список из базы просто закешируй запрос cache(time)
Artem
ну ситуация такая, что на странице выводится список новостей просто
Artem
запросы кэшировать навернео нужно на стороне СУБД?
KoJIT
ну ситуация такая, что на странице выводится список новостей просто
если кэш страницы устраивает, то все норм, если не устраивает то фрагментный
KoJIT
Или nginx кеш, да, Владимир? 😁
Это если "хайлоад" :D
Anonymous
Anonymous
СТАРТАП
Nikita
Всем привет, подскажите как по правильному будет сделать, задача из базы выгрузить 50 тыс строк и обновить у каждой строки статус на 1
Anonymous
Сколько лет ещё угорать будем с этого, эххх)))
Artem
Так, а на сколько рационально использовать yii\caching\DbDependency ? Это получается один фиг запрос на таблицу с новостями
Anonymous
Если там нету магии и нужно только физически поле обновить, то просто обнови поле и не трахай моск
Nikita
чтоб побыстрей было
Anonymous
Мне кажется ты рано оптимизацией занимаешься
Anonymous
Есть реальная проблема? Сервер устал? Ты профилировал?
Anonymous
Типичная ошибка новичков, оптимизировать преждевременно всё.
Artem
я стараюсь заранее всё продумать, потому что жду вёрстку и делать нечего
Ivan
Пиши тесты
Anonymous
Вот проблема у людей, время некуда потратить...
Джинн
+100
Ахалай-махалай, и у товарища теперь 100 монет!
Джинн
+100
Ахалай-махалай, и у товарища теперь 1322873 монет!
Artem
И так понятно, что при большом количестве пользователей и статей сайт начнёт тормозить
Artem
а преждевременная оптимизация это настройка репликаций, партицирования и тд
Anonymous
Фантазии оффай
KoJIT
Так, а на сколько рационально использовать yii\caching\DbDependency ? Это получается один фиг запрос на таблицу с новостями
depenency используют когда инфа должна быть всегда актуальна и закеширована, т.е depenency смотрит были-ли какие-то изменения и если прошли то кэш переписывается
Artem
даЭ то понятно. Но намного лучше прсото чистить кэш, если в админке человек добавил или изменил статью
Джинн
+100
Откуда ты возьмёшь шекели, поц? У тебя ведь даже нет партбилета!
Anonymous
Anonymous
+100
+1000
Джинн
+1000
Ахалай-махалай, и у товарища теперь 1000 монет!
KoJIT
даЭ то понятно. Но намного лучше прсото чистить кэш, если в админке человек добавил или изменил статью
Главное не забыть что кэш надо очистить, особенно когда чистить придется в n+ местах
KoJIT
+1000
Я богат !
Artem
Да, я и надеялся на магию от Yii
Anonymous
Главное не забыть что кэш надо очистить, особенно когда чистить придется в n+ местах
не придётся, если правильно всё организовать, мне вот тег зависимости нравятся последнее время + поведения на модели
Artem
У меня же все действия а админке через модели
Artem
было бы круто получать автоматическое управление кешом, если я ему пропишу зависимость от конкретной модели данных
Anonymous
Короче не трогай кеш пока хватает сервера
Anonymous
Потом первый шаг профайлинга собрать все запросы их количество и скорость, проанализовать и добавить индексы в СУБД
Джинн
+10
Ахалай-махалай, и у товарища теперь 810 монет!
Anonymous
+10
+810
Джинн
+810
Ахалай-махалай, и у товарища теперь 1800 монет!
Artem
а кэш с yii\caching\DbDependency каждый раз делает этот запрос, да?(
Anonymous
да
Anonymous
Я тебе ответил уже
Artem
понятно, спасибо
Anonymous
Ладно, что горох об стену с тобой общаться
Ivan
Ладно, что горох об стену с тобой общаться
Привет! Я таки завалил эту картиковскуя сучку, спасибо! 8) 'kartik\\file\\SortableAsset' => [ 'depends' => [], ], 'kartik\\file\\DomPurifyAsset' => [ 'depends' => [], ], 'kartik\\file\\FileInputAsset' => [ 'depends' => [], ], 'kartik\\base\\WidgetAsset' => [ 'depends' => [], ],
Anonymous
я же говорил #картикговно
Artem
Почему гавно?
Karim
Джинн
+10
Вы кем себя возомнили, олигархом? У вас столько нет!
Джинн
+1
Вы кем себя возомнили, олигархом? У вас столько нет!
Karim
Я бомж
CybernatiC
Джинн
+100
Ахалай-махалай, и у товарища теперь 100 монет!
Evgeny
Многоуважаемые господа. Если не затруднит подскажите как запрос AR составить: мне нужно получить 50 записей от определенного ID (не включая этот ID) Есть вот такая старая конструкция работающая подругому
Evgeny
` $result = $this ->hasMany(MessageMessage::className(), ['subject_id' => 'id']) ->orderBy(['message_message.id' => SORT_DESC]) ->joinWith('author') ->limit(50);
Good
Иммется ввиду 50 записей, следующих дальше? Типа 51, 52, 55, 56 и т. д.?
Evgeny
да
Evgeny
просто известно ID последней записи, допустим 50. но 51 может не оказаться, а сразу 52
Evgeny
offset(1) как вариант
Evgeny
но меня больше интересует как сделать выборку начиная от определенного id-шника
Good
$result = Model::find()->where(['>', 'id', $firstId])->orderBy(['id' => SORT_ASC])->limit(50)->all()