1. Attempted to pass multiple field/value pairs using the Redis facade’s hset method. The code implementation is as follows:
PHP
$cache_list_key = sprintf('order:batch:%s_list', $batch_id);
Redis::hset($cache_list_key, 'key', $key, 'result', $result, 'message', $message);
Redis::expire($cache_list_key, 86400);
2. An error occurred during execution: local.ERROR: ERR wrong number of arguments for ‘hset’ command. See Figure 1.

Plaintext
[2024-03-28 08:09:35] local.ERROR: ERR wrong number of arguments for 'hset' command {"exception":"[object] (Predis\\Response\\ServerException(code: 0): ERR wrong number of arguments for 'hset' command at E:\\wwwroot\\object\\vendor\\predis\\predis\\src\\Client.php:384)
[stacktrace]
3. However, since Redis 4.0, HSET can set one or more field/value pairs at a time. Starting from Redis 4.0.0, HMSET is deprecated; use HSET instead.
4. Reference: Redis facade hset doesn’t allow passing multiple fields/values. I ultimately decided to keep using HSET, passing only one field at a time and executing it multiple times. The code implementation is as follows:
PHP
$cache_list_key = sprintf('order:batch:%s_list', $batch_id);
Redis::hset($cache_list_key, 'key', $key);
Redis::hset($cache_list_key, 'result', $result);
Redis::hset($cache_list_key, 'message', $message);
Redis::expire($cache_list_key, 86400);
5. No more errors occurred. I checked the structure in Redis, and it matches expectations. See Figure 2.

