如何更新redis哈希中的单个值
How to update a single value in redis hash
我正在使用 Python FastAPI 和 Redis。我写了一个函数来更新redis散列中的值,但我无法单独更新单个值,我只能重写整个散列。
我的模型:
class Item4(BaseModel):
balance: Optional[float] = None
currencyCode: Optional[str] = None
customerId: Optional[int] =None
我的函数:
@app.put("/updateBalance/{balanceId}")
async def update_item(item: Item4, balanceId):
msg = r.hmset(balanceId, dict(item))
return msg
hmset
is deprecated for hset
- 但如果您只想更新单个密钥,请不要发送包含所有密钥的散列。
您可以 use the exclude_unset
parameter to Pydantic's dict()
方法不包含任何未明确提供的值:
r.hmset(balanceId, item.dict(exclude_unset=True))
我正在使用 Python FastAPI 和 Redis。我写了一个函数来更新redis散列中的值,但我无法单独更新单个值,我只能重写整个散列。
我的模型:
class Item4(BaseModel):
balance: Optional[float] = None
currencyCode: Optional[str] = None
customerId: Optional[int] =None
我的函数:
@app.put("/updateBalance/{balanceId}")
async def update_item(item: Item4, balanceId):
msg = r.hmset(balanceId, dict(item))
return msg
hmset
is deprecated for hset
- 但如果您只想更新单个密钥,请不要发送包含所有密钥的散列。
您可以 use the exclude_unset
parameter to Pydantic's dict()
方法不包含任何未明确提供的值:
r.hmset(balanceId, item.dict(exclude_unset=True))