写一段redis zset获取排名的代码
时间: 2023-04-03 22:01:46 浏览: 181
利用Redis的有序集合实现排行榜功能实例代码
以下是获取 Redis Zset 排名的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <hiredis/hiredis.h>
int main(int argc, char **argv) {
redisContext *c = redisConnect("127...1", 6379);
if (c == NULL || c->err) {
printf("Error connecting to Redis: %s\n", c->errstr);
exit(1);
}
const char *key = "myzset";
const char *member = "member1";
redisReply *reply = redisCommand(c, "ZREVRANK %s %s", key, member);
if (reply == NULL) {
printf("Error executing Redis command: %s\n", c->errstr);
exit(1);
}
if (reply->type == REDIS_REPLY_ERROR) {
printf("Redis error: %s\n", reply->str);
exit(1);
}
if (reply->type == REDIS_REPLY_NIL) {
printf("Member not found in Zset\n");
} else {
printf("Rank of member %s in Zset %s is %lld\n", member, key, reply->integer);
}
freeReplyObject(reply);
redisFree(c);
return ;
}
```
以上代码使用 hiredis 库连接 Redis,然后执行 `ZREVRANK` 命令获取指定成员在有序集合中的排名。如果成员不存在,则返回 `REDIS_REPLY_NIL`。
阅读全文