Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
a38ff404
Commit
a38ff404
authored
Dec 23, 2019
by
Oran Agra
Committed by
antirez
Apr 07, 2020
Browse files
modules don't signalModifiedKey in setKey() since that's done (optionally) in RM_CloseKey
parent
814874d6
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/db.c
View file @
a38ff404
...
...
@@ -221,7 +221,7 @@ void dbOverwrite(redisDb *db, robj *key, robj *val) {
* unless 'keepttl' is true.
*
* All the new keys in the database should be created via this interface. */
void
genericSetKey
(
redisDb
*
db
,
robj
*
key
,
robj
*
val
,
int
keepttl
)
{
void
genericSetKey
(
redisDb
*
db
,
robj
*
key
,
robj
*
val
,
int
keepttl
,
int
signal
)
{
if
(
lookupKeyWrite
(
db
,
key
)
==
NULL
)
{
dbAdd
(
db
,
key
,
val
);
}
else
{
...
...
@@ -229,12 +229,12 @@ void genericSetKey(redisDb *db, robj *key, robj *val, int keepttl) {
}
incrRefCount
(
val
);
if
(
!
keepttl
)
removeExpire
(
db
,
key
);
signalModifiedKey
(
db
,
key
);
if
(
signal
)
signalModifiedKey
(
db
,
key
);
}
/* Common case for genericSetKey() where the TTL is not retained. */
void
setKey
(
redisDb
*
db
,
robj
*
key
,
robj
*
val
)
{
genericSetKey
(
db
,
key
,
val
,
0
);
genericSetKey
(
db
,
key
,
val
,
0
,
1
);
}
/* Return true if the specified key exists in the specified database.
...
...
src/module.c
View file @
a38ff404
...
...
@@ -2157,7 +2157,7 @@ RedisModuleString *RM_RandomKey(RedisModuleCtx *ctx) {
int RM_StringSet(RedisModuleKey *key, RedisModuleString *str) {
if (!(key->mode & REDISMODULE_WRITE) || key->iter) return REDISMODULE_ERR;
RM_DeleteKey(key);
s
etKey(key->db,key->key,str);
genericS
etKey(key->db,key->key,str
,0,0
);
key->value = str;
return REDISMODULE_OK;
}
...
...
@@ -2237,7 +2237,7 @@ int RM_StringTruncate(RedisModuleKey *key, size_t newlen) {
if (key->value == NULL) {
/* Empty key: create it with the new size. */
robj *o = createObject(OBJ_STRING,sdsnewlen(NULL, newlen));
s
etKey(key->db,key->key,o);
genericS
etKey(key->db,key->key,o
,0,0
);
key->value = o;
decrRefCount(o);
} else {
...
...
@@ -3625,7 +3625,7 @@ int RM_ModuleTypeSetValue(RedisModuleKey *key, moduleType *mt, void *value) {
if (!(key->mode & REDISMODULE_WRITE) || key->iter) return REDISMODULE_ERR;
RM_DeleteKey(key);
robj *o = createModuleObject(mt,value);
s
etKey(key->db,key->key,o);
genericS
etKey(key->db,key->key,o
,0,0
);
decrRefCount(o);
key->value = o;
return REDISMODULE_OK;
...
...
src/server.h
View file @
a38ff404
...
...
@@ -2057,7 +2057,7 @@ int objectSetLRUOrLFU(robj *val, long long lfu_freq, long long lru_idle,
#define LOOKUP_NOTOUCH (1<<0)
void
dbAdd
(
redisDb
*
db
,
robj
*
key
,
robj
*
val
);
void
dbOverwrite
(
redisDb
*
db
,
robj
*
key
,
robj
*
val
);
void
genericSetKey
(
redisDb
*
db
,
robj
*
key
,
robj
*
val
,
int
keepttl
);
void
genericSetKey
(
redisDb
*
db
,
robj
*
key
,
robj
*
val
,
int
keepttl
,
int
signal
);
void
setKey
(
redisDb
*
db
,
robj
*
key
,
robj
*
val
);
int
dbExists
(
redisDb
*
db
,
robj
*
key
);
robj
*
dbRandomKey
(
redisDb
*
db
);
...
...
src/t_string.c
View file @
a38ff404
...
...
@@ -84,7 +84,7 @@ void setGenericCommand(client *c, int flags, robj *key, robj *val, robj *expire,
addReply
(
c
,
abort_reply
?
abort_reply
:
shared
.
null
[
c
->
resp
]);
return
;
}
genericSetKey
(
c
->
db
,
key
,
val
,
flags
&
OBJ_SET_KEEPTTL
);
genericSetKey
(
c
->
db
,
key
,
val
,
flags
&
OBJ_SET_KEEPTTL
,
1
);
server
.
dirty
++
;
if
(
expire
)
setExpire
(
c
,
c
->
db
,
key
,
mstime
()
+
milliseconds
);
notifyKeyspaceEvent
(
NOTIFY_STRING
,
"set"
,
key
,
c
->
db
->
id
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment