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
d0477098
Commit
d0477098
authored
Feb 22, 2013
by
antirez
Browse files
Cluster: empty the internal sorted set mapping keys to slots on FLUSHDB/ALL.
parent
efe51dff
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/db.c
View file @
d0477098
...
...
@@ -34,6 +34,7 @@
void
SlotToKeyAdd
(
robj
*
key
);
void
SlotToKeyDel
(
robj
*
key
);
void
SlotToKeyFlush
(
void
);
/*-----------------------------------------------------------------------------
* C-level DB API
...
...
@@ -213,12 +214,14 @@ void flushdbCommand(redisClient *c) {
signalFlushedDb
(
c
->
db
->
id
);
dictEmpty
(
c
->
db
->
dict
);
dictEmpty
(
c
->
db
->
expires
);
if
(
server
.
cluster_enabled
)
SlotToKeyFlush
();
addReply
(
c
,
shared
.
ok
);
}
void
flushallCommand
(
redisClient
*
c
)
{
signalFlushedDb
(
-
1
);
server
.
dirty
+=
emptyDb
();
if
(
server
.
cluster_enabled
)
SlotToKeyFlush
();
addReply
(
c
,
shared
.
ok
);
if
(
server
.
rdb_child_pid
!=
-
1
)
{
kill
(
server
.
rdb_child_pid
,
SIGUSR1
);
...
...
@@ -755,6 +758,11 @@ void SlotToKeyDel(robj *key) {
zslDelete
(
server
.
cluster
->
slots_to_keys
,
hashslot
,
key
);
}
void
SlotToKeyFlush
(
void
)
{
zslFree
(
server
.
cluster
->
slots_to_keys
);
server
.
cluster
->
slots_to_keys
=
zslCreate
();
}
unsigned
int
GetKeysInSlot
(
unsigned
int
hashslot
,
robj
**
keys
,
unsigned
int
count
)
{
zskiplistNode
*
n
;
zrangespec
range
;
...
...
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