Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
e7546c63
Commit
e7546c63
authored
Jan 05, 2010
by
antirez
Browse files
BGREWRITEAOF now works with swapping on
parent
1b03836c
Changes
2
Show whitespace changes
Inline
Side-by-side
redis.c
View file @
e7546c63
...
...
@@ -6527,9 +6527,20 @@ static int rewriteAppendOnlyFile(char *filename) {
/* Iterate this DB writing every entry */
while
((
de
=
dictNext
(
di
))
!=
NULL
)
{
robj
*
key
=
dictGetEntryKey
(
de
);
robj
*
o
=
dictGetEntryVal
(
de
);
time_t
expiretime
=
getExpire
(
db
,
key
);
robj
*
key
,
*
o
;
time_t
expiretime
;
int
swapped
;
key
=
dictGetEntryKey
(
de
);
if
(
key
->
storage
==
REDIS_VM_MEMORY
)
{
o
=
dictGetEntryVal
(
de
);
swapped
=
0
;
}
else
{
o
=
vmPreviewObject
(
key
);
key
=
dupStringObject
(
key
);
swapped
=
1
;
}
expiretime
=
getExpire
(
db
,
key
);
/* Save the key and associated value */
if
(
o
->
type
==
REDIS_STRING
)
{
...
...
@@ -6597,6 +6608,12 @@ static int rewriteAppendOnlyFile(char *filename) {
if
(
fwriteBulk
(
fp
,
key
)
==
0
)
goto
werr
;
if
(
fwriteBulkLong
(
fp
,
expiretime
)
==
0
)
goto
werr
;
}
/* We created a few temp objects if the key->value pair
* was about a swapped out object. Free both. */
if
(
swapped
)
{
decrRefCount
(
key
);
decrRefCount
(
o
);
}
}
dictReleaseIterator
(
di
);
}
...
...
redis.conf
View file @
e7546c63
...
...
@@ -49,9 +49,12 @@ databases 16
# after 900 sec (15 min) if at least 1 key changed
# after 300 sec (5 min) if at least 10 keys changed
# after 60 sec if at least 10000 keys changed
save
900
1
save
300
10
save
60
10000
#
# Note: you can disable saving at all commenting all the "save" lines.
#save 900 1
#save 300 10
#save 60 10000
# Compress string objects using LZF when dump .rdb databases?
# For default that's set to 'yes' as it's almost always a win.
...
...
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