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
9e7cee0e
Commit
9e7cee0e
authored
Mar 08, 2011
by
Pieter Noordhuis
Browse files
Add function to create ziplist-backed sorted set
parent
672b0a1b
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/object.c
View file @
9e7cee0e
...
@@ -93,12 +93,18 @@ robj *createHashObject(void) {
...
@@ -93,12 +93,18 @@ robj *createHashObject(void) {
robj
*
createZsetObject
(
void
)
{
robj
*
createZsetObject
(
void
)
{
zset
*
zs
=
zmalloc
(
sizeof
(
*
zs
));
zset
*
zs
=
zmalloc
(
sizeof
(
*
zs
));
zs
->
dict
=
dictCreate
(
&
zsetDictType
,
NULL
);
zs
->
dict
=
dictCreate
(
&
zsetDictType
,
NULL
);
zs
->
zsl
=
zslCreate
();
zs
->
zsl
=
zslCreate
();
return
createObject
(
REDIS_ZSET
,
zs
);
return
createObject
(
REDIS_ZSET
,
zs
);
}
}
robj
*
createZsetZiplistObject
(
void
)
{
unsigned
char
*
zl
=
ziplistNew
();
robj
*
o
=
createObject
(
REDIS_ZSET
,
zl
);
o
->
encoding
=
REDIS_ENCODING_ZIPLIST
;
return
o
;
}
void
freeStringObject
(
robj
*
o
)
{
void
freeStringObject
(
robj
*
o
)
{
if
(
o
->
encoding
==
REDIS_ENCODING_RAW
)
{
if
(
o
->
encoding
==
REDIS_ENCODING_RAW
)
{
sdsfree
(
o
->
ptr
);
sdsfree
(
o
->
ptr
);
...
...
src/redis.h
View file @
9e7cee0e
...
@@ -730,6 +730,7 @@ robj *createSetObject(void);
...
@@ -730,6 +730,7 @@ robj *createSetObject(void);
robj
*
createIntsetObject
(
void
);
robj
*
createIntsetObject
(
void
);
robj
*
createHashObject
(
void
);
robj
*
createHashObject
(
void
);
robj
*
createZsetObject
(
void
);
robj
*
createZsetObject
(
void
);
robj
*
createZsetZiplistObject
(
void
);
int
getLongFromObjectOrReply
(
redisClient
*
c
,
robj
*
o
,
long
*
target
,
const
char
*
msg
);
int
getLongFromObjectOrReply
(
redisClient
*
c
,
robj
*
o
,
long
*
target
,
const
char
*
msg
);
int
checkType
(
redisClient
*
c
,
robj
*
o
,
int
type
);
int
checkType
(
redisClient
*
c
,
robj
*
o
,
int
type
);
int
getLongLongFromObjectOrReply
(
redisClient
*
c
,
robj
*
o
,
long
long
*
target
,
const
char
*
msg
);
int
getLongLongFromObjectOrReply
(
redisClient
*
c
,
robj
*
o
,
long
long
*
target
,
const
char
*
msg
);
...
...
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