hiredis笔记

同步调用

连接

cpp 复制代码
redisContext* redisConnect(constchar*ip,intport);

发送命令并且获取响应

cpp 复制代码
void *redisCommand(redisContext *c, const char *format, ...);
void *redisvCommand(redisContext *c, const char *format, va_list ap);
void *redisCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);

返回的结果结构体为

cpp 复制代码
typedef struct redisReply {
    int type; /* REDIS_REPLY_* */
    long long integer; /* The integer when type is REDIS_REPLY_INTEGER */
    int len; /* Length of string */
    char *str; /* Used for both REDIS_REPLY_ERROR and REDIS_REPLY_STRING */
    size_t elements; /* number of elements, for REDIS_REPLY_ARRAY */
    struct redisReply **element; /* elements vector for REDIS_REPLY_ARRAY */
} redisRepl

type支持的值有

  • REDIS_REPLY_STRING
  • REDIS_REPLY_ARRAY
  • REDIS_REPLY_INTEGER
  • REDIS_REPLY_NIL
  • REDIS_REPLY_STATUS
  • REDIS_REPLY_ERROR

阻塞模式下的管道命令

将命令写入输出缓冲区,也是在阻塞模式下的命令管道

cpp 复制代码
int redisvAppendCommand(redisContext *c, const char *format, va_list ap);
int redisAppendCommand(redisContext *c, const char *format, ...);
int redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);

获取响应

cpp 复制代码
int redisGetReply(redisContext *c, void **reply);
int redisGetReplyFromReader(redisContext *c, void **reply);

释放响应对象

cpp 复制代码
void freeReplyObject(void *reply)
相关推荐
xuhaoyu_cpp_java2 小时前
SpringMVC学习(五)
java·开发语言·经验分享·笔记·学习·spring
中屹指纹浏览器2 小时前
2026平台集群式风控溯源体系研究与浏览器环境适配应对方案
经验分享·笔记
敖正炀2 小时前
高可用架构深度:主从复制、哨兵与 Cluster
redis
IronMurphy3 小时前
Redis拷打第三讲
数据库·redis·mybatis
楠枬3 小时前
Redis 哨兵
数据库·redis
敲代码的嘎仔3 小时前
力扣高频SQL基础50题详解
开发语言·数据库·笔记·sql·算法·leetcode·后端开发
橙子圆1233 小时前
Redis知识6之事务
数据库·redis·缓存
星恒随风4 小时前
四天学完前端基础三件套(JavaScript篇)
开发语言·前端·javascript·笔记
羊群智妍4 小时前
2026 免费GEO监测:AI搜索优化实用工具推荐
笔记
zkkkkkkkkkkkkk5 小时前
python使用celery实现异步任务
redis·python·rabbitmq·rocketmq