最近在使用Laravel 10  按照官方文档  Redis - Laravel 10.x - The PHP Framework For Web Artisans配置Redis数据库后序列化和压缩配置根本行不通, 报  Undefined constant Redis::SERIALIZER_MSGPACK

通过查阅predis源码 predis/predis/src/Connection/RelayConnection.php,  后得出解决方法,直接将配置修改为

'redis' => [
 
    'client' => env('REDIS_CLIENT', 'phpredis'),
 
    'options' => [
		'serializer' => 'msgpack',
		'compression' => 'lz4',
	],
 
    // Rest of Redis configuration...
],

官方给出的配置

'redis' => [
 
    'client' => env('REDIS_CLIENT', 'phpredis'),
 
    'options' => [
        'serializer' => Redis::SERIALIZER_MSGPACK,
        'compression' => Redis::COMPRESSION_LZ4,
    ],
 
    // Rest of Redis configuration...
],

另外,如果使用msgpack, 需要你的PHP安装了 msgpack 扩展,否则行不通哦

更多推荐