Laravel кеш для каждого устройства - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь кешировать названия продуктов, которые пользователи добавляют в корзину, и я хочу, чтобы это работало для анонимных пользователей (для всех). Я попытался laravel кешировать, но я не знаю, как сделать уникальный ключ для кеширования, и я могу взять этот уникальный ключ для этого пользователя и показать его продукты.

        Cache::put('MyBasket',$arr);

Я использовал этот код, но он бы показать тот же результат для всех, кто посещает веб-сайт, конечно. Я могу сделать это для зарегистрированных пользователей с их идентификатором, но я хочу сделать это для всех (незарегистрированных пользователей). Может я могу использовать ма c адрес или что-то в этом роде?

Ответы [ 2 ]

1 голос
/ 16 января 2020

Используйте идентификатор сессии, laravel внутренне поддерживает свою уникальность

Cache::put(session()->getId(),$arr);
1 голос
/ 16 января 2020

Вы упомянули, что в вашем проекте есть продукты. Как правило, для приложений электронной коммерции кэширование не дает хорошего результата. Вы можете попытаться сохранить ваши продукты во время сеанса или готовить ie. Если вы не сохранили продукты пользователя в базе данных, хранилище сессий будет вам очень полезно. Попробуйте с Laravel сеансами

...