Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 12.03.2014 22:50:51

Ruzarh
Откуда: СПБ
Сообщений: 27

Eloquent и кеширование

Что то ни как не могу набрести на тему где рассказывается как можно с коробки кешировать данные в мемкеш например. Подскажите где это искать пожалуйтста. Может  просто не туда смотрю

Не в сети

#2 12.03.2014 23:09:46

Не в сети

#3 12.03.2014 23:36:49

Ruzarh
Откуда: СПБ
Сообщений: 27

Re: Eloquent и кеширование

Ну либо я мимо читаю, либо не верно написал вопрос. У меня есть табличка. Есть выборка по юзер идам. Я не хочу насиловать базу, хочу сначала проверить есть ли по этому ключу данные в мемкеше, если нет, то делаю запрос к базе, получаю данные, и ложу их в кеш. Думаю теперь понятнее вопрос задал.

Не в сети

#4 12.03.2014 23:46:20

Re: Eloquent и кеширование

Речь, видимо, о remember/forever: http://laravel.ru/docs/v4/cache#%D0%B8% … B8%D0%B5-6

Не в сети

#5 12.03.2014 23:57:18

Ruzarh
Откуда: СПБ
Сообщений: 27

Re: Eloquent и кеширование

Да, спасибо, похоже это то что надо, только придется к модельке прикручивать это костылем, что не весело(( гугл не помог пока((

Не в сети

#6 13.03.2014 00:32:12

Re: Eloquent и кеширование

Как вариант - создать метод в модели, который будет возвращать кэшированный запрос с выборкой. В любом случае придётся его "прикручивать".

Не в сети

#7 13.03.2014 20:21:57

Cheshirrski
masterМастер
Откуда: Днепр
Сообщений: 116
Статей: 2

Re: Eloquent и кеширование

В l4 для get, first и find запросов можно использовать метод remember(  $minutes ) и rememberForever()

User::rememberForever()->findOrFail( $id );
User::where( 'age', '>', '18')->remember( 10 )->get();
User::where( 'email', '=', $email )->remember( 10 )->firstOrFail();

Непосредственно Eloquent этого не умеет, но умеет QueryBuilder.

Не в сети

Подвал раздела