Linux清除redis缓存:如何清除Redis缓存 同时保留会话数据:Laravel5

我使用 redis 作为会话驱动程序,我想清除缓存,同时保持会话数据,所以基本上用户可以保持登录。

注意:我不想为会话和其他缓存数据使用单独的 redis 实例。

31

简介

默认情况下,redis 为您提供 16 个单独的数据库,但开箱即用的 laravel 将尝试使用数据库 0 进行会话和缓存。

我们的解决方案是让 Redis 缓存使用数据库 0,而数据库 1 用于 Session,在那里通过运行php artisan cache:clear来解决会话清除问题。

1.设置会话 Redis 连接

修改config/database.php,将session键添加到redis选项中:

'redis' => [
   'cer' => false,
   'default' => [
       'host'     => env('REDIS_HOST', 'localhost'),
       'password' => env('REDIS_PASSWORD', null),
       'port'     => env('REDIS_PORT', 6379),
       'database' => 0,
   ],
   'session' => [
         'host'     => env('REDIS_HOST', 'localhost'),
         'password' => env('REDIS_PASSWORD', null),
         'port'     => env('REDIS_PORT', 6379),
         'database' => 1,
   ],
],

2.使用session连接

修改config/session.php,更改以下内容:

'connection' => null,

收件人:

'connection' => 'session',

3.使用 Redis 作为会话驱动程序

Modify.env,changeSESSION_DRIVER:
SESSION_DRIVER=redis

4.Testing out

执行以下工匠命令,然后检查您的登录状态:

php artisan cache:clear

如果登录状态仍然存在,voil à!

3

我不知道 Laravel,但一般来说最好的两个选择是:

更改缓存键的格式。您应该使用版本控制的缓存键,以便将来可以执行此操作,即“cache.1”。这样您就可以递增,然后它使所有密钥一次变得无关紧要。

将缓存移动到同一 redis 实例中的不同 db 编号。这样,您以后也可以对该 db 编号执行FLUSHDB以清除缓存。

在这两个选项中,在您第一次执行之后,如果缓存键没有过期,您应该创建一个使用SCAN删除旧密钥的脚本。请参阅http://redis.io/commands/scan

作为一个侧面说明,将缓存和其他东西保存在同一个 redis 实例中通常是一个坏主意,因为在缓存中您通常使用基于 LRU 的驱逐,并且您不想将其与较少的易失性密钥混合。

2
https://laravel.com/docs/5.2/redis#configuration
'redis' => [
    'cer' => false,
    'default' => [
        'host'     => '127.0.0.1',
        'port'     => 6379,
        'database' => 0,
    ],
],

redis 连接选项中有 'database',只需为 session 和 cache 选择不同的数据库即可。我只希望 redis 缓存驱动程序使用 flushdb not flushall 进行刷新:)。

0

Laravel Cache::clear () 发送 Redis flushall 命令,这将转储一切,所以在我的经验中不是很有用。您将需要扩展缓存类,并创建一个自定义集来索引您希望能够清除的缓存数据。然后构建另一个函数来读取集合,并为集合中的每个键发出 Redis del () 命令。发布一些工作代码,并在必要时进一步详细说明

Notagolfers 建议将缓存和会话分离到不同的 redis 数据库中不是一个 had 调用,但您仍然需要扩展缓存类来实现 Redis 数据库配置开关

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(440)
Pivot浏览器:搜狗浏览器的浏览器引擎是什么
上一篇
Mysql数据库password加密:Java Play加密数据库密码
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(78条)