hiredis二进制数据存储的方法
2022/9/10 2:23:11
本文主要是介绍hiredis二进制数据存储的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
hiredis存储二进制文件,比如char数组的方法,例如:
char value[20]={0} value[0]='a' value[15]='b'
这种情况直接调用redisCommand(c, "set key %s",value),是不可行的,因为遇到结束符'\0'会停止,但redis是二进制安全的,hiredis也提供了二进制安全的方法,即redisCommand(c, "set key %b",value,20),一个%b对应一个char指针加缓存的长度,下面给出完整代码:
#include <stdio.h> #include <string.h> #include "hiredis.h" int main() { redisContext *c = redisConnect("127.0.0.1", 9600); redisReply *reply = (redisReply *)redisCommand(c, "AUTH %s", "123456"); char value[20]={0}; value[0]='a'; value[19]='b'; reply = redisCommand(c, "set %b %b", "keyb",(size_t) 4,value,(size_t) 20); reply = redisCommand(c, "get keyb"); for(int i=0;i<reply->len;i++) { if(*(reply->str+i)==0) printf("\\x00"); else printf("%c",*(reply->str+i)); } print("\n") freeReplyObject(reply); redisFree(c); return 0; }
输出结果:
a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00b
这篇关于hiredis二进制数据存储的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识