demo - meetbill/redis-orm GitHub Wiki
demo
创建记录
创建记录时内部变动涉及如下步骤
- 添加 id 至 redisorm:{model}:all 集合
- 设置 redisorm:{model}:object:{id} 为序列化后的数据
- 添加所有 {field_name:field_value} 到 redisorm:{model}:object:{id}:tags 集合
- 添加 id 到 redisorm:{model_name}:tags:{field_name:field_value} 用于标记索引
创建普通记录
操作
class User(redisorm.Model):
pass
User.objects.create(name='wangbin', age=26)
内部变动
# 【表级别】记录表中所有记录
SADD redisorm:user:__all__ 39NzUg3sOmD7ZDe1
# 【记录】记录中的内容
SET redisorm:user:object:39NzUg3sOmD7ZDe1 (dp0S'age'p1I26sS'name'p2S'wangbin'p3s.
# 【记录】此记录的所有 tags
SADD redisorm:user:object:39NzUg3sOmD7ZDe1:tags age:26 name:wangbin
# 【表级别】表级别 tag
SADD redisorm:user:tags:age:26 39NzUg3sOmD7ZDe1
SADD redisorm:user:tags:name:wangbin 39NzUg3sOmD7ZDe1
创建带过期时间记录
操作
class User(redisorm.Model):
pass
User.objects.create(name='meetbill_expire', age=26, expire=3)
内部变动
【表级别】
SADD redisorm:user:__all__ XAXir1gqH0pKg8Ne
【记录级别】
SET redisorm:user:object:XAXir1gqH0pKg8Ne (dp0S'age'p1I26sS'name'p2S'meetbill_expire'p3s.
SET redisorm:user:object:XAXir1gqH0pKg8Ne:expire 1584149251.246195
【表级别】
ZADD redisorm:user:__expire__ 1584149251.246195 XAXir1gqH0pKg8Ne
【记录级别】
SADD redisorm:user:object:XAXir1gqH0pKg8Ne:tags age:26 expire:3 name:meetbill_expire
【表级别】
SADD redisorm:user:tags:age:26 XAXir1gqH0pKg8Ne
SADD redisorm:user:tags:expire:3 XAXir1gqH0pKg8Ne
SADD redisorm:user:tags:name:meetbill_expire XAXir1gqH0pKg8Ne