php - Laravel PSR-16 缓存。适配\Predis\Client 到\Redis?

标签 php laravel caching redis

我正在尝试在需要 PSR-16 缓存的包中使用 laravel redis 缓存。我找到了以下方法来实现这一点:

class_alias('\Predis\Client', '\Redis'); // rename \Predis\Client to \Redis

$client = Redis::connection('default');
$pool = new \Cache\Adapter\Redis\RedisCachePool($client->client());
$simpleCache = new \Cache\Bridge\SimpleCache\SimpleCacheBridge($pool);
$psr16_cache = new SimpleCacheTokenPersistence($simpleCache);

如您所见...第一行非常骇人听闻! RedisCachePool 接受的类名,它将只接受一个\Redis 对象。

无论我尝试了什么,我都无法让 Laravel 提供 Redis 对象,即使 Predis\Client 是相同的。

除了 hack,我的另一个选择是 fork php-cache/redis-adapter 包,但同样不理想。

有人可以对此提出任何解决方法吗?

最佳答案

您应该使用 predis-adapter 而不是 redis-adapter

composer 需要缓存/predis-adapter

Github:https://github.com/php-cache/predis-adapter

关于php - Laravel PSR-16 缓存。适配\Predis\Client 到\Redis?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52692746/

相关文章:

php - 我应该如何在 mysql_query 函数中编写 PHP $_POST 变量?

php - 验证错误消息未显示且数据未保存到数据库

php - 如何在 Heroku 上安装 GD

php - Laravel如何通过积分获取当前用户位置

ruby-on-rails - rails : control file store cache size

Python 内存缓存 : caching objects

javascript - 如何使用链接触发 php 查询

php - 如何修改wordpress搜索以查询分类术语和类别术语?

laravel - 如何更改 Laravel 中请求参数的值

c# - C# 集合是否关心缓存友好性?