laravel - Redis/Laravel - 不断收到错误 : Unknown prefix:

标签 laravel redis predis

关于这个redis错误,我一直在寻找和寻找任何信息,但到目前为止还没有找到任何信息。任何帮助将不胜感激。

这是我的设置: Laravel 有 2 个 redis 连接,6379 个用于缓存,6380 个用于数据存储。

每次对数据存储的请求,我都会在日志中收到此错误:

exception 'Predis\Protocol\ProtocolException' with message 'Unknown prefix: '1' [tcp://MY_SERVER_ADDRESS:6380]

这是最近几天才开始的,我没有更改 redis 配置或 laravel redis 配置中的任何内容。

更多信息:

  • 我没有在任何地方的 laravel 中设置前缀..laravel、predis 或 redis 正在添加它自己。

  • 添加的“前缀”发生变化,昨天是“O”,今天是“1”。

  • 这发生在两个不同的 laravel 实例上。这些实例共享一个加密 key ,但不共享任何文件或配置。他们都连接到这个redis服务器

这是完整的堆栈跟踪:

[2015-02-02 22:19:13] production.ERROR: exception 'Predis\Protocol\ProtocolException' with message 'Unknown prefix: '1' [tcp://MY_SERVER_ADDRESS:6380]' in /var/www/html/vendor/predis/predis/lib/Predis/Connection/AbstractConnection.php:151
Stack trace:
#0 /var/www/html/vendor/predis/predis/lib/Predis/Connection/StreamConnection.php(274): Predis\Connection\AbstractConnection->onProtocolError()
#1 /var/www/html/vendor/predis/predis/lib/Predis/Connection/StreamConnection.php(262): Predis\Connection\StreamConnection->read()
#2 /var/www/html/vendor/predis/predis/lib/Predis/Connection/AbstractConnection.php(130): Predis\Connection\StreamConnection->read()
#3 /var/www/html/vendor/predis/predis/lib/Predis/Connection/AbstractConnection.php(122): Predis\Connection\AbstractConnection->readResponse()
#4 /var/www/html/vendor/predis/predis/lib/Predis/Client.php(246): Predis\Connection\AbstractConnection->executeCommand()
#5 /var/www/html/vendor/predis/predis/lib/Predis/Client.php(228): Predis\Client->executeCommand()
#6 /var/www/html/app/interfaces/RedisRepository.php(47): Predis\Client->__call()
#7 /var/www/html/app/controllers/TrackingController.php(239): RedisRepository->registerNodeEventStatsGlobal()
#8 (): TrackingController->saveTrackerUserData()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(231): call_user_func_array()
#10 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(93): Illuminate\Routing\Controller->callAction()
#11 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(62): Illuminate\Routing\ControllerDispatcher->call()
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(962): Illuminate\Routing\ControllerDispatcher->dispatch()
#13 (): {closure}()
#14 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(109): call_user_func_array()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(1028): Illuminate\Routing\Route->run()
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(996): Illuminate\Routing\Router->dispatchToRoute()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(775): Illuminate\Routing\Router->dispatch()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(745): Illuminate\Foundation\Application->dispatch()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware.php(72): Illuminate\Foundation\Application->handle()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Queue.php(47): Illuminate\Session\Middleware->handle()
#21 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Guard.php(51): Illuminate\Cookie\Queue->handle()
#22 /var/www/html/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Illuminate\Cookie\Guard->handle()
#23 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(641): Stack\StackedHttpKernel->handle()
#24 /var/www/html/public/index.php(49): Illuminate\Foundation\Application->run()
#25 {main} [] []

请帮忙:(

最佳答案

该问题原来是 HHVM 特有的。一旦我切换回 PHP-FPM,错误就停止了。

HHVM 仍然有它的怪癖。

关于laravel - Redis/Laravel - 不断收到错误 : Unknown prefix:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28288185/

相关文章:

php - 如何使用 predis 多次发布

php - 如何为 Laravel 的密码重置功能添加成功提示信息?

php - Laravel Eloquent 关系 AVG 有

php - 安装 Predis 错误 : Download of "nrk/Predis" succeeded, 但它不是有效的包存档

session - Laravel 不在 Redis 中存储 session 数据

redis - UNLINK 命令总是比 DEL 命令好吗?

php - laravel 5.x 中的 hasMany 与 ownToMany

Laravel 警告 : Unknown: failed to open stream: No such file or directory in Unknown on line 0

c# - 与基准测试相比,StackExchange redis 客户端非常慢

Redis:转储数据库并删除转储的键/值对