Redis‑OM 两大模型怎么选?
用 Redis-OM 做对象映射,第一道坎就是选 HashModel 还是 JsonModel。这俩 API 看着差不多,底层存储却差远了。
要是业务里得嵌套子模型,比如客户模型里套个订单列表,那就直接上 JsonModel。它支持列表、字典这些容器,还能给内嵌字段建索引。没这需求就用 HashModel,它存的是扁平结构,不支持容器类型。
定好模型,字段直接用 Python 类型注解来写,语法跟 Pydantic 一模一样。想设默认值就直接赋值,不传这个字段会自动补上,调用 save() 时直接存进 Redis。想让字段变成可选,就加个 Optional;没设默认值的,全都是必填项。
最省心的是数据校验。Redis-OM 底层就是 Pydantic,运行时会自动按类型拦非法数据。不管是基础类型,还是邮箱格式、数值区间,只要类型对不上,实例化或者保存时直接抛错,根本不用自己写判断。
说白了:简单扁平对象用 HashModel,要嵌套和容器就选 JsonModel。
完整信息,请参考以下原文↓
原文Redis‑OM 两大模型怎么选?HashModel 与 JsonModel 字段、校验完整实战指南