Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xindoo
redis
提交
58554396
R
redis
项目概览
xindoo
/
redis
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
58554396
编写于
12月 18, 2019
作者:
Z
zhaozhao.zz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
incrbyfloat: fix issue #5256 ttl lost after propagate
上级
24044f33
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
4 deletion
+14
-4
src/t_string.c
src/t_string.c
+7
-4
tests/integration/replication.tcl
tests/integration/replication.tcl
+7
-0
未找到文件。
src/t_string.c
浏览文件 @
58554396
...
...
@@ -405,7 +405,7 @@ void decrbyCommand(client *c) {
void
incrbyfloatCommand
(
client
*
c
)
{
long
double
incr
,
value
;
robj
*
o
,
*
new
,
*
aux
;
robj
*
o
,
*
new
,
*
aux
1
,
*
aux2
;
o
=
lookupKeyWrite
(
c
->
db
,
c
->
argv
[
1
]);
if
(
o
!=
NULL
&&
checkType
(
c
,
o
,
OBJ_STRING
))
return
;
...
...
@@ -431,10 +431,13 @@ void incrbyfloatCommand(client *c) {
/* Always replicate INCRBYFLOAT as a SET command with the final value
* in order to make sure that differences in float precision or formatting
* will not create differences in replicas or after an AOF restart. */
aux
=
createStringObject
(
"SET"
,
3
);
rewriteClientCommandArgument
(
c
,
0
,
aux
);
decrRefCount
(
aux
);
aux
1
=
createStringObject
(
"SET"
,
3
);
rewriteClientCommandArgument
(
c
,
0
,
aux
1
);
decrRefCount
(
aux
1
);
rewriteClientCommandArgument
(
c
,
2
,
new
);
aux2
=
createStringObject
(
"KEEPTTL"
,
7
);
rewriteClientCommandArgument
(
c
,
3
,
aux2
);
decrRefCount
(
aux2
);
}
void
appendCommand
(
client
*
c
)
{
...
...
tests/integration/replication.tcl
浏览文件 @
58554396
...
...
@@ -70,6 +70,13 @@ start_server {tags {"repl"}} {
}
}
test
{
INCRBYFLOAT replication, should not remove expire
}
{
r set test 1 EX 100
r incrbyfloat test 0.1
after 1000
assert_equal
[
$A debug digest
]
[
$B debug digest
]
}
test
{
BRPOPLPUSH replication, when blocking against empty list
}
{
set rd
[
redis_deferring_client
]
$rd brpoplpush a b 5
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录