当前位置: 代码迷 >> 综合 >> hiredis 保存二进制类型文件
  详细解决方案

hiredis 保存二进制类型文件

热度:47   发布时间:2023-12-11 19:50:56.0

reids在通过字符串保存压缩文件时有时会遇到/0的字符,从而导致文件保存不完整
例如:

redisCommand(c,"set %d %s",frag_seq,redis_value);

在这里插入图片描述
这里的rev.zip含有许多/0
可以通过存取二进制串的 方式来保存,防止/0截断字符串
hiredis提供了%b,作为格式化二进制的方法,二进制数据需要提供起始地址和长度。因为二进制没有像str一样用/0结束符,需要长度的参数。

redisCommand(c,"set %d %b",frag_seq,redis_value,last_len);