Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xindoo
redis
提交
80091bba
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 搜索 >>
提交
80091bba
编写于
7月 27, 2010
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
STRLEN command implemented
上级
e0be2289
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
25 addition
and
0 deletion
+25
-0
src/redis.c
src/redis.c
+1
-0
src/redis.h
src/redis.h
+1
-0
src/t_string.c
src/t_string.c
+9
-0
tests/unit/basic.tcl
tests/unit/basic.tcl
+14
-0
未找到文件。
src/redis.c
浏览文件 @
80091bba
...
...
@@ -74,6 +74,7 @@ struct redisCommand readonlyCommandTable[] = {
{
"setex"
,
setexCommand
,
4
,
REDIS_CMD_BULK
|
REDIS_CMD_DENYOOM
,
NULL
,
0
,
0
,
0
},
{
"append"
,
appendCommand
,
3
,
REDIS_CMD_BULK
|
REDIS_CMD_DENYOOM
,
NULL
,
1
,
1
,
1
},
{
"substr"
,
substrCommand
,
4
,
REDIS_CMD_INLINE
,
NULL
,
1
,
1
,
1
},
{
"strlen"
,
strlenCommand
,
2
,
REDIS_CMD_INLINE
,
NULL
,
1
,
1
,
1
},
{
"del"
,
delCommand
,
-
2
,
REDIS_CMD_INLINE
,
NULL
,
0
,
0
,
0
},
{
"exists"
,
existsCommand
,
2
,
REDIS_CMD_INLINE
,
NULL
,
1
,
1
,
1
},
{
"incr"
,
incrCommand
,
2
,
REDIS_CMD_INLINE
|
REDIS_CMD_DENYOOM
,
NULL
,
1
,
1
,
1
},
...
...
src/redis.h
浏览文件 @
80091bba
...
...
@@ -859,6 +859,7 @@ void blpopCommand(redisClient *c);
void
brpopCommand
(
redisClient
*
c
);
void
appendCommand
(
redisClient
*
c
);
void
substrCommand
(
redisClient
*
c
);
void
strlenCommand
(
redisClient
*
c
);
void
zrankCommand
(
redisClient
*
c
);
void
zrevrankCommand
(
redisClient
*
c
);
void
hsetCommand
(
redisClient
*
c
);
...
...
src/t_string.c
浏览文件 @
80091bba
...
...
@@ -252,4 +252,13 @@ void substrCommand(redisClient *c) {
decrRefCount
(
o
);
}
void
strlenCommand
(
redisClient
*
c
)
{
robj
*
o
;
if
((
o
=
lookupKeyReadOrReply
(
c
,
c
->
argv
[
1
],
shared
.
czero
))
==
NULL
||
checkType
(
c
,
o
,
REDIS_STRING
))
return
;
o
=
getDecodedObject
(
o
);
addReplyLongLong
(
c
,
sdslen
(
o
->
ptr
));
decrRefCount
(
o
);
}
tests/unit/basic.tcl
浏览文件 @
80091bba
...
...
@@ -368,4 +368,18 @@ start_server {tags {"basic"}} {
r expire z 10000
list
[
r msetnx x A y B z C
]
[
r mget x y z
]
}
{
0
{
1
{}
{}}}
test
{
STRLEN against non existing key
}
{
r strlen notakey
}
{
0
}
test
{
STRLEN against integer
}
{
r set myinteger -555
r strlen myinteger
}
{
4
}
test
{
STRLEN against plain string
}
{
r set mystring
"foozzz0123456789 baz"
r strlen mystring
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录