在 Laravel 中,您可以使用以下标签将项目放入缓存中:
Cache::tags('bans')->put($result->ip, $result->reason);
但我似乎无法找到一种方法来获取带有特定标签的所有项目。是否可以检索带有特定标签的所有项目?
Like:
Cache::tags('bans')->all();
或类似的东西
底层缓存驱动器不支持检索某个标签的所有缓存。
如果你真的需要这种功能,你应该寻找Redis https://laravel.com/docs/5.5/redis, using Redis 的哈希值 https://github.com/phpredis/phpredis#hgetall而不是缓存的标签。
这是一些示例代码:
// Delete hash table - `bans`
Redis::del('bans');
// Setting hash table filed
Redis::hSet('bans', 'ip1', 'spam: test reason');
Redis::hSet('bans', 'ip2', 'spam: test reason 2');
// Get all filed form hash table - `bans`
dd(Redis::hGetAll('bans'));
调试输出将是:
array:2 [▼
"ip1" => "spam: test reason"
"ip2" => "spam: test reason 2"
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)