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)
相关推荐
難釋懷3 小时前
Redis分片集群插槽原理
数据库·redis·缓存
ノBye~4 小时前
Centos7.6 Docker安装redis(带密码 + 持久化)
java·redis·docker
小酒丸子4 小时前
AD学习笔记之异形焊盘
笔记·学习
知识分享小能手5 小时前
Redis入门学习教程,从入门到精通,Redis 数据操作:知识点详解与代码实战(2)
数据库·redis·学习
Dylan~~~7 小时前
Redis MCP Server:让 AI 拥有“持久记忆“的革命性方案
数据库·人工智能·redis
indexsunny7 小时前
互联网大厂Java求职面试实战:核心技术与业务场景解析
java·spring boot·redis·微服务·kafka·互联网大厂·面试技巧
似水明俊德7 小时前
01-C#.Net-泛型-学习笔记
java·笔记·学习·c#·.net
難釋懷7 小时前
Redis分片集群伸缩
数据库·redis·缓存
今儿敲了吗8 小时前
python基础学习笔记第三章
笔记·python·学习
91刘仁德9 小时前
C++ 内存管理
android·c语言·数据结构·c++·经验分享·笔记·算法