【问题标题】:Laravel 5.2 Cache Tags not workingLaravel 5.2 缓存标签不起作用
【发布时间】:2016-04-08 01:05:55
【问题描述】:

我正在使用 Laravel 5.2 缓存和 memcached 驱动程序。

正在尝试将 Cache::tags 实施到我的项目中,但似乎不起作用。

但是我用的时候效果很好

Cache::put('user_1', $user, 600);

这是我的代码

Cache::tags('user')->put('user_1', $user, 600);

我已经尝试过使用

Cache::tags(['user'])->put('user_1', $user, 600);

正如它在 API 文档中提到的那样,它支持 array|mixed $names

不知道有没有人和我一样的问题?

【问题讨论】:

  • 用 memcached 尝试了相同的代码 - 工作得很好。不幸的是,您的配置可能存在一些问题。
  • 嗨@GiedriusKiršys,你介意告诉我你的配置文件设置吗?我将 cache_driver 更改为使用 memcached,并在 cache.php 中使用 memcached 的默认配置设置。
  • 这几乎是默认设置,只是在.env 中将CACHE_DRIVER 更改为memcached
  • @GiedriusKiršys 获取缓存数据时,是否使用 Cache::has('user_1'); ??或 Cache::tags('user')->has('user_1');
  • 我使用Cache::tags('user')->get('user_1');从缓存中获取数据。

标签: php laravel laravel-5 laravel-5.2


【解决方案1】:

这也让我很困惑。在 Laravel 中使用缓存标签时,要从缓存中获取存储的数据,您需要指定使用的标签。

例如像这样存储数据时:

Cache::tags('user')->put('user_1', $user, 600);

这不会取回数据:

Cache::get('user_1');

但这会:

Cache::tags('user')->get('user_1');

Laravel 5.4(撰写本文时的当前版本)的行为仍然相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-22
    • 2016-08-25
    • 2016-04-01
    • 2017-01-26
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多