47028


Laravel5を使用してWebアプリケーションを実装しています。

初回アクセスは外部サイトのAPIで取得した情報をRedisに保存して、すべてのアクセスユーザーが毎回APIを叩かなくてもいいようにしようと思っています。

ただ、SessionでもCacheでもRedisに保存できるようなのですが、どういうふうに使い分けるのかがわかりません。

どのような用途で分けるのでしょうか？


CC BY-SA 4.0
2018-07-27T07:11:58.983
47025
2018-07-27T07:33:51.720
9328
question
php laravel redis
SessionとCacheの使い分けがわかりません


SessionとCacheは用途が違います。  
やりたいことを実現するためにどちらもRedisという技術を使いますが、用途が違うため利用場面は変わってきます。

Session  
主にブラウザが閉じるまで維持されるデータです。  
データのアクセス権限としてはサーバとブラウザでセッションIDをやり取りするため、ブラウザまたいだデータの流用はできません。一ブラウザで一セッションが基本です。  
利用例としては  
ログインの維持、ECサイトのカート機能

Cache  
基本的に明示的にクリアしない限り維持されるデータです。  
データのアクセス権限はどこからでも可能です。アプリケーション側で制約をしない限りCacheにつながる人であれば誰でも利用できます。  
利用例としては  
重いSQLクエリ結果のキャッシュ


CC BY-SA 4.0
2018-07-27T07:33:51.720
47028
2018-07-27T07:33:51.720
22665
47025
answer