hiredis,如何检查是否有更多数据可供读取
hiredis , How to check if more data is available to read
我正在尝试使用hiredis
写入连接池。我面临的问题是,如果用户触发了一个命令,但没有从连接中读取响应,我应该在将响应放入连接池之前清除该连接中的响应。
有什么方法可以检查吗:
- 还有更多的数据要读吗?所以我可以做
redisGetReply
,直到所有数据都被清除 - 或者有没有一种方法可以清除连接对象上所有挂起的读取
问题不清楚,因为它无法说明您使用的是同步操作还是异步操作。
-
你提到redisGetReply,我假设使用同步操作。同步呼叫将阻止呼叫。对命令的响应将在同一个调用中可用。您可能想要检查是否读取了所有数据的一种情况是,当线程之间共享上下文时,在将连接返回到池之前检查数据。
是redisGetReply可用于检查是否有更多数据要读取。
对于异步调用,请使用redisAsyncHandleRead检查是否有要读取的数据。
在内部,redisGetReply和redisAsyncHandleRead都调用redisBufferRead。
- 对于同步调用,请使用redisFree清除上下文。对于Aysnc调用,请使用redisAsyncFree来清除上下文
相关文章:
- C++将文本文件中的数据读取到结构数组中
- 在PROGMEM中添加更多数据会中断Arduino Mega 2560上的SPI传输
- 为 Sql 服务器实现 odbc 包装器.将数据库数据读取为字符或要求驱动程序将数据转换为 C 类型
- 结构内具有更多数据类型的单个链表
- 如何将来自文本文件的数据读取到结构的int阵列中
- C++:一个写入器/多个读取器访问一个unordered_map线程安全
- 在 C++ 的 iov 中存储更多数据
- 我可以多快读取 /dev/ttyACM0 文件
- 如何将不同长度的数据读取到 2D 数组中
- C 和卷发:无法接收握手,需要更多数据
- 从TXT文件到C 的结构向量中的数据读取
- 将sqlite原始数据读取到qbyTearray
- 如何将来自输入TXT文件的数据读取到2 C 数组中
- C++使用sql连接器获取元数据,而不需要太多数据
- boost::unique_lock,多次读取会减慢写入速度
- C++ 将文件中的多行读取到类中
- c++我需要将文件中的数据读取到多维数组中,然后用一种数据类型对数组进行排序.怎样
- 读取svm数据并使用更多数据进行再训练
- 为什么我的缓冲区在多次读取()后会保存相同的数据
- hiredis,如何检查是否有更多数据可供读取