如何使用 Redis::set 方法手动设置 ttl?

How to set ttl manually with Redis::set method?

在 laravel 9 应用程序中,我使用 Redis::set 方法编写 redis(5.0.7) 值,但在这种情况下它具有

TTL = does not expire 

我尝试手动设置ttl,比如

Redis::set('key', $value, now()->addHours($data_caching_hours));

我收到错误:

ERR syntax error

我的问题错了,没找到Redis::set是否可以设置ttl值? 我更喜欢为任何对象手动设置 ttl 值,因为 ttl 对于任何对象都可以不同。

在 config/cache.php 我有 :

    'redis' => [
        'driver' => 'redis',
        'connection' => 'cache',
        'lock_connection' => 'default',
    ],

谢谢!

有效决定是:

Redis::set('key', ($to_serialize ? serialize($val) : $val) );
Redis::expire($'key', $caching_hours * 3600);