[Python] Redis Cache - HSET and mapping error in python

Discussão em 'Python' iniciado por Stack, Julho 6, 2025.

  1. Stack

    Stack Membro Participativo

    All,

    I'm learning Redis Cache on my Windows 11 laptop with Redis Cache deployed as a container in the Docker for Desktop. The Redis-Server version is v8.0.3 and I'm using redis client for python v6.2.

    I'm getting an error when I use mapping with HSET command. I tried changing the redis client to v5.3 and 4.2 but it is not helping. I tried taking the help of copilot and chatgpt but they have been unable to help as well. I checked the official documentation as well and it seems to indicate mapping is appropriate method as well - Redis Official Documentation

    Below is the code and error:

    Python Code:

    import redis

    r = redis.Redis(host='localhost', port=6379, decode_responses=True)

    user_info = {
    "username": "gopi",
    "email": "gopi@example.com",
    "role": "admin",
    "last_login": "2024-07-01"
    }

    r.hset("user:1001", mapping=user_info)

    # Fetch email
    print("Email:", r.hget("user:1001", "email"))

    # Update role
    r.hset("user:1001", "role", "superadmin")

    # Fetch full profile
    print("Profile:", r.hgetall("user:1001"))


    (.venv) PS C:\Projects\learnredis> & C:/Projects/learnredis/.venv/Scripts/python.exe c:/Projects/learnredis/hashlearn.py Traceback (most recent call last): File "c:\Projects\learnredis\hashlearn.py", line 12, in r.hset("user:1001", mapping=user_info) File "C:\Projects\learnredis.venv\Lib\site-packages\redis\commands\core.py", line 5102, in hset return self.execute_command("HSET", name, *pieces) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Projects\learnredis.venv\Lib\site-packages\redis\client.py", line 623, in execute_command return self._execute_command(*args, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Projects\learnredis.venv\Lib\site-packages\redis\client.py", line 634, in _execute_command return conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Projects\learnredis.venv\Lib\site-packages\redis\retry.py", line 87, in call_with_retry return do() ^^^^ File "C:\Projects\learnredis.venv\Lib\site-packages\redis\client.py", line 635, in lambda: self._send_command_parse_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Projects\learnredis.venv\Lib\site-packages\redis\client.py", line 606, in _send_command_parse_response return self.parse_response(conn, command_name, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Projects\learnredis.venv\Lib\site-packages\redis\client.py", line 653, in parse_response response = connection.read_response() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Projects\learnredis.venv\Lib\site-packages\redis\connection.py", line 666, in read_response raise response redis.exceptions.ResponseError: wrong number of arguments for 'hset' command (.venv) PS C:\Projects\learnredis>
    ​

    Continue reading...

Compartilhe esta Página