Redis-0x10-db

1 设置键

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
* @brief 设置键
* @param c
* @param db 内存数据库
* @param key 键
* @param val 值
* @param keepttl 标识是否对键key设置过期
* - key设置过期的语义是将key加到过期字典中
* - key不设置过期的语义是过期字典中不存在key
* @param signal
*/
void genericSetKey(client *c, redisDb *db, robj *key, robj *val, int keepttl, int signal) {
if (lookupKeyWrite(db,key) == NULL) { // 数据库不存在键
dbAdd(db,key,val); // 全局字典 添加键
} else {
dbOverwrite(db,key,val); // 全局字典 更新键
}
incrRefCount(val);
if (!keepttl) removeExpire(db,key); // 从过期字典中删除键
if (signal) signalModifiedKey(c,db,key);
}

Redis-0x10-db
https://bannirui.github.io/2023/04/10/Redis-0x10-db/
作者
dingrui
发布于
2023年4月10日
许可协议