Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何基于用户特定会话创建laravel缓存外观_Laravel_Redis - Fatal编程技术网

如何基于用户特定会话创建laravel缓存外观

如何基于用户特定会话创建laravel缓存外观,laravel,redis,Laravel,Redis,我在laravel中集成了redis缓存驱动程序。我的应用是社交和音乐。因此,经过身份验证的用户可以访问应用程序,我必须根据登录的用户缓存数据。我如何实现这一点?有人能帮忙吗 这是我现在正在使用的代码。下面是根据用户id获取登录用户帖子的代码。在下面的代码中,我正在创建一个缓存标记tfeedsposts,如果缓存尚未设置,它将设置帖子数据 对每个登录的用户使用相同的缓存标记是否是最佳做法 因为我认为相同的标记不适用于每个登录的用户,因为用户将拥有不同的数据,所以将数据存储在相同的缓存标记中不会向

我在laravel中集成了redis缓存驱动程序。我的应用是社交和音乐。因此,经过身份验证的用户可以访问应用程序,我必须根据登录的用户缓存数据。我如何实现这一点?有人能帮忙吗

这是我现在正在使用的代码。下面是根据用户id获取登录用户帖子的代码。在下面的代码中,我正在创建一个缓存标记
tfeedsposts
,如果缓存尚未设置,它将设置帖子数据

对每个登录的用户使用相同的缓存标记是否是最佳做法

因为我认为相同的标记不适用于每个登录的用户,因为用户将拥有不同的数据,所以将数据存储在相同的缓存标记中不会向用户显示实际数据

如果有一个有效的方法来实现这一点,那么请让我知道

$cachename = 'tfeeds-offset:'.$this->offset.'-limit:'.$this->limit;
        $cached = Cache::tags(['tfeedsposts'])->has($cachename);
     if ($cached) {
                $posts = Cache::tags(['tfeedsposts'])->get($cachename);
                } else {

                    $posts = Post::whereRaw("visibility_id = 1 and user_id IN($friendsids_string) or visibility_id = 2 and user_id IN($follwingids_string) or visibility_id = 3 and user_id IN($follwingids_string) or visibility_id = 3 and user_id IN($friendsids_string)")->orWhere('user_id', $id)->with(['users_liked','users_viewed','shares', 'user','parentpost', 'comments','comments.user', 'comments.comments_liked', 'comments.replies', 'comments.replies.user', 'comments.replies.comments_liked','users_tagged' ,  'notifications_user'])->latest()->paginate(Setting::get('items_page'));
                    Cache::tags(['tfeedsposts'])->put($cachename, $posts, $this->cachettl);
                }

欢迎Paika!到目前为止你试过什么?你能分享你使用的特定代码和你遇到的确切问题吗?就目前而言,这个问题似乎有点过于宽泛。使用包含用户id的缓存密钥?@Jerodev ok谢谢你的回答。但如果我必须根据帖子id缓存特定记录,而不是登录用户id,那么我需要做什么呢?欢迎Paika!到目前为止你试过什么?你能分享你使用的特定代码和你遇到的确切问题吗?就目前而言,这个问题似乎有点过于宽泛。使用包含用户id的缓存密钥?@Jerodev ok谢谢你的回答。但如果我必须基于posts id缓存特定记录,而不是登录用户id,那么我需要做什么?