Home - meetbill/redis-orm GitHub Wiki
redis-orm
1 特色
- 轻量级:代码很小,模型和收集方法努力以 Redis 的方式最自然地工作。
- tag 支持:使用 tag 标记 model,以有效地检索集合的子集。
- 过期支持:创建带有 expire 参数的 model,以确保在该时间段内将其销毁。
2 使用手册
2.1 手册
能够在 “运行时” 创建实例属性,是 python 类的优秀特性之一
2.2 pipeline 与 transation
pipeline 不仅仅用来批量的提交命令,还用来实现事务 transation。
使用 transaction 与否不同之处在与创建 pipeline 实例的时候,transaction 是否打开,默认是打开的。即
(1) r.pipeline(transaction=False) 使用的 pipeline 功能
(2) r.pipeline() 使用的事务功能,python 中 redis 事务是通过 pipeline 的封装实现的
2.3 概念对比
SQL 概念 | MongoDB 概念 | Redis orm 概念 | 解释/说明 |
---|---|---|---|
database | database | 数据库 | |
table | collection | 数据库表/集合 | |
row | document | document | 数据记录行/文档 |
column | field | 数据字段/域 | |
index | index | 索引 | |
table joins | 表连接,MongoDB 不支持 | ||
primary key | primary key | 主键,MongoDB 自动将 _id 字段设置为主键 |
3 深入了解 redis-orm
3.1 使用的 key
通过 redisorm 写入数据和 redisorm 对 redis 写入的数据对比
document 数据记录行/文档
string: redisorm:{model_name}:object:{xxxxxxxxxx}
记录 field 索引
set,redisorm:{model_name}:tags:{field_name:field_value}