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)
相关推荐
白夜11175 小时前
静态库vs动态库
c++·笔记
難釋懷5 小时前
Redis数据结构-Dict
数据结构·数据库·redis
zhangyueping83855 小时前
大模型学习笔记-AI通识
人工智能·笔记·学习
弹简特6 小时前
【Redis】01-认识Redis+分布式系统知识背景介绍
数据库·redis·缓存
他们叫我阿冠6 小时前
SpringAI的基础学习
数据库·redis·缓存
渡己之道6 小时前
笔记-lvgl移植到stm32f407
c语言·笔记·stm32
FakeOccupational6 小时前
【电路笔记 电源模块】“桥接”布局法+电源隔离+GND隔离+统一地平面防干扰
笔记·平面
2301_792674867 小时前
java学习day31(redis)
java·redis·学习
xuhaoyu_cpp_java7 小时前
MyBatis学习(一)
java·经验分享·笔记·学习·mybatis
monkeyhlj7 小时前
AI Agent开发课程笔记记录 - 提升篇 About RAG
人工智能·笔记