坑爹的hiredis API使用
来源:互联网 发布:linux 替换分隔符 编辑:程序博客网 时间:2024/05/21 20:26
hiredis是redis的官方C API,但是不得不说API的使用很坑爹。
void *redisCommand(redisContext *c, const char *format, ...)
貌似很牛逼的样子,提供了类似printf的可变参数机制。但这也正是本次爹被坑的地方。
string cmd = "GET 100%坑爹的redisCommand ";
并调用redisCommand如下:
redisCommand(c, cmd.c_str());
通过查询hiredis的代码发现,redisCommand会调用它自己实现的一个坑爹的redisvFormatCommand函数:
int redisvFormatCommand(char **target, const char *format, va_list ap)
该函数实现中,当发现%的时候,会检查%后一个字符的合法性,如果不合法,就直接报错!
string cmd = "GET 100%坑爹的redisCommand ";
redisCommand(c, "%s", cmd.c_str());
嗯嗯,貌似好使了?错!从redis server 返回的结果为 “unknown command GET 100%坑爹的redisCommand”。。。怎么也看不出来这条命令哪里错误了,好吧,老老实实的按照hiredis的demo代码来写:
string key = "100%坑爹的redisCommand ";
redisCommand(c, "GET %s", key.c_str());
0 0
- 坑爹的hiredis API使用
- 坑爹的hiredis API使用
- hiredis的api
- hiredis之坑爹的异步调用
- hiredis的一些使用心得
- linux下使用hiredis异步API实现sub/pub消息订阅和发布的功能
- linux下使用hiredis异步API实现sub/pub消息订阅和发布的功能
- Redis C 语言客户端 hiredis 的使用
- hiRedis Synchronous API
- Hiredis异步API
- hiRedis Synchronous API
- hiredis api 介绍
- hiredis api学习
- 基于Hiredis异步API的聊天系统实现
- Hiredis安装使用及浅析和一个利用Hiredis实现的简单类
- c++中使用 hiredis/hiredis.h
- 从hiredis使用出core谈谈redis多线程的使用
- 从hiredis使用出core谈谈redis多线程的使用
- 汉诺塔递归算法
- Android孔式打开的Splash效果
- Jmeter 通过CSV文件进行参数化
- 11个jQuery 图表库
- Timer的用法
- 坑爹的hiredis API使用
- navigationItem 上的按钮 点击按钮区域以外的地方仍会响应点击事件
- matlab相关操作笔记
- game simulation
- mongodb性能问题及原理分析
- Mac 为什么不能拷贝文件到U盘
- Php代码控制错误提示级别
- g54y6huj6yh
- 屏幕常用