hiredis读写(同步式)

本文记录一下hiredis同步读写的操作方式。

简单的实例

#include <iostream>
#include <stdio.h>

extern "C" {
#include <hiredis.h>     
}

int test_1()
{
    redisContext *c = redisConnect( "127.0.0.1", 6379 );
    if ( c != NULL && c->err) {
        std::cout << "Error: " << c->errstr << std::endl;
        return -1;
    }
    std::cout << "hello world." << std::endl;

    redisReply *reply = (redisReply *)redisCommand( c, "GET foo");

    if ( reply == nullptr ) { 
        std::cout << "get redis failed" << std::endl;
        return -2;
    }

    if ( reply->type == REDIS_REPLY_ERROR ) {
        std::cout << "type == REDIS_REPLY_ERROR" << std::endl;
        freeReplyObject( reply ); 
        return -3;
    }

    std::cout << "set redis success. " << "SET foo bar" << std::endl;
    freeReplyObject( reply ); 



    return 0;
}

函数好像也只有非常简单的command。在使用的时候需要注意其中的内存用完是需要释放掉的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 pymilvus(Milvus Python SDK),读写操作可以通过同步或异步方式进行。 同步方式是指在进行读写操作时,程序会等待操作完成后再继续执行下一步操作。例如,使用 `client.insert` 方法插入向量数据时,程序会等待插入操作完成后再返回。 异步方式是指在进行读写操作时,程序不会等待操作完成,而是立即返回并继续执行下一步操作。程序可以通过回调函数或 await/async 方式处理异步操作的结果。例如,使用 `client.insert` 方法插入向量数据时,可以通过设置 `async=True` 参数使操作变为异步。 以下是使用 pymilvus 进行同步和异步读写的示例代码: 同步写入数据示例: ```python from pymilvus import connections, FieldSchema, CollectionSchema, DataType connections.connect() # 创建 collection collection_name = "collection" fields = [ FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128), ] schema = CollectionSchema(fields=fields) collection = connections.get_connection().create_collection(collection_name, schema) # 同步插入数据 data = [ [0.1] * 128, [0.2] * 128, [0.3] * 128, ] collection.insert(data) connections.disconnect() ``` 异步写入数据示例: ```python import asyncio from pymilvus import connections, FieldSchema, CollectionSchema, DataType async def async_insert(collection, data): await collection.insert(data) async def main(): connections.connect() # 创建 collection collection_name = "collection" fields = [ FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128), ] schema = CollectionSchema(fields=fields) collection = connections.get_connection().create_collection(collection_name, schema) # 异步插入数据 data = [ [0.1] * 128, [0.2] * 128, [0.3] * 128, ] await async_insert(collection, data) connections.disconnect() asyncio.run(main()) ``` 以上示例代码分别展示了同步写入数据和异步写入数据的方式。根据实际需求选择适合的读写方式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值