Size: a a a

2021 August 20

AO

Aleksandr Opekunov in Laravel Pro
Всем привет! Не могу понять одну вещь.
Есть модель Test у неё есть метод getQwerty, который через cache::remember (ттл 3 часа) возвращает все модели QWERTY, связанные с Test. Ключ кэша qr-{test->Id}

Хотел сделать сброс кэша при обновлении модели QWERTY, но перед этим решил потестить.
Делаю $test->getQwerty();
Далее изменяю первый элемент коллекции, например: getQwerty()->first()->update([“name” => “0”]) (до этого name было «1»

Затем делаю повторно $test->getQwerty(), ожидая получить кэшированные НЕизмененные данные из первого запроса. Но в результате я получаю данные, где name => 0

Я проверил через прослушку запросов к базе и на наличие ключа в кэшэ. Из базы запрос делается только первый раз, второй раз действительно идёт из кэша. Проверка по ключу кэша сказала, что ключ всегда на месте. Действие внутри Cache::remember, выполняется только 1 раз - при запросе (добавлял запись в лог).

И я никак не могу понять, как поменялись данные в кэше, если я их не перезаписывал и не сбрасывал.

Тестирую phpUnit, кэш - Redis
источник

d.

dev . in Laravel Pro
покажи метод
источник

d.

dev . in Laravel Pro
в базе в итоге поменялось или только в объекте кеша
источник

M7

MaZaHaKa 7 in Laravel Pro
Ребят, всем привет, было ли такое у вас от редиса: Error while reading line from the server.

Хз в чем дело, думали сначала что DO редис "плохой", поменяли на свой, та же проблема, временами встречается

Вот тут пишут что read_write_timeout хорошая тема, если поставить 0 (https://github.com/laravel/lumen-framework/issues/355)
источник

TL

Tiny Locker in Laravel Pro
Кто юзает tymon/jwt-auth при дефолтных настройках, вы в курсе, что если у клиента украдут токен, то мошеннник сможет его бесконечно рефрешить?
источник

к

кость in Laravel Pro
клиент сам виноват что за токеном не уследил))
источник

MI

Madiar Isabek in Laravel Pro
ребят есть хорошие гайды по авторизаций по телефону?
источник

к

кость in Laravel Pro
п отелефону
источник

TL

Tiny Locker in Laravel Pro
ну умные люди придумали рефреш токен, который хранится уже в базе и после рефреша генерится новая пара ключей, по этому можно поставить жизнь аксес токена 5 минут, владелец токена рефрешит токены, а мошенник уже не сможет ибо его рефреш токен протухнет
источник

MI

Madiar Isabek in Laravel Pro
привычка называется автопробел
источник

y

yu2ry in Laravel Pro
источник

V

Vlad in Laravel Pro
Как правильно возвращать вьюшку в ларавель 8?
В документации
https://laravel.com/docs/8.x/views
указано, что нужно использовать функцию view()

Но при создании ресурс контролера указывается, что ожидает вернуть результат типа Response @return \Illuminate\Http\Response
Т.е. response()->view()

Есть ли какая-то разница и какой вариант использовать предпочтительнее?
источник

ℕℂ

ℕ𝕀𝕂𝕆𝕃𝔸𝕐 ℂℍ𝔼ℝ𝕍𝕆ℕ... in Laravel Pro
return new View('template.path');
источник

ℕℂ

ℕ𝕀𝕂𝕆𝕃𝔸𝕐 ℂℍ𝔼ℝ𝕍𝕆ℕ... in Laravel Pro
А если прям жестко, то нужно в конфиге filesystem.php добавить параметр - 'view_driver' => View::class;

И в контроллере просто возвращать строку - путь до шаблона
источник

AO

Aleksandr Opekunov in Laravel Pro
всегда вроде было return view()
источник

AO

Aleksandr Opekunov in Laravel Pro
Route::get('/', function () {
   return view('greeting', ['name' => 'James']);
});


из документации
источник

d.

dev . in Laravel Pro
ну это все же полумера. мошеЙнику достаточно при получении ключей насильно дернуть рефреш чтобы легал клиент отпал
источник

А

Алексей in Laravel Pro
ключи можно по разному получить, и не всегда если у тебя есть токен у тебя есть и рефреш токен.
зависит от того в какой момент и каким образом злоумышленник "подсосался"
источник

d.

dev . in Laravel Pro
и потом рефреш может не умереть после нового access
источник

А

Алексей in Laravel Pro
как не умереть... тебе же новая пара присылается, а стара инвалидируется
источник