hiredis的安装与使用

hiredis的介绍

Hiredis 是一个用于 C 语言的轻量级、高性能的 Redis 客户端库。它提供了一组简单易用的 API,用于与 Redis 数据库进行交互。Hiredis 支持 Redis 的所有主要功能,包括字符串、哈希、列表、集合、有序集合等数据结构的读写操作,以及发布订阅、事务和管道等高级功能。

Hiredis 设计简洁,代码轻量,且具有很高的性能。它被广泛用于开发需要与 Redis 数据库进行交互的 C 语言项目,可以帮助开发者轻松快捷地利用 Redis 的强大功能。同时,Hiredis 也提供了一系列的命令行工具,用于方便地测试和验证与 Redis 的连接和操作。

总而言之,Hiredis 是一个简单、高效的 C 语言 Redis 客户端库,适用于需要在 C 语言项目中与 Redis 进行交互的开发者。

hiredis的安装

在redis的发行包中的deps目录包含hiredis的源码,手动编译安装;

cd /deps/hiredis
make
make install

但是上述方法会出现一些错误
在这里插入图片描述
需要进入hiredis目录进行安装
在这里插入图片描述

第二种方法,在github下载安装,网址:
在这里插入图片描述
在这里插入图片描述
开启redis

redis-server redis.conf
redis-cli

使用make test进行测试
在这里插入图片描述

测试hiredis

#include <iostream>

#include <hiredis/hiredis.h>


int main() {

    // 创建一个Redis连接对象
    redisContext *c = redisConnect("127.0.0.1", 6379);
    if (c == NULL || c->err) {
        if (c) {
            std::cout << "Error: " << c->errstr << std::endl;
            // handle error, close connection, etc.
            redisFree(c);
        } else {
            std::cout << "Can't allocate redis context" << std::endl;
        }
        return 1;
    }

    // 执行一些基本操作,例如设置和获取键值对
    redisReply *reply = (redisReply *)redisCommand(c, "SET key value");
    if (reply == NULL) {
        std::cout << "Error: " << c->errstr << std::endl;
        // handle error, close connection, etc.
        redisFree(c);
        return 1;
    }
    std::cout << "Set result: " << reply->str << std::endl;
    freeReplyObject(reply);

    reply = (redisReply *)redisCommand(c, "GET key");
    if (reply == NULL) {
        std::cout << "Error: " << c->errstr << std::endl;
        // handle error, close connection, etc.
        redisFree(c);
        return 1;
    }
    std::cout << "Get result: " << reply->str << std::endl;
    freeReplyObject(reply);//释放reply指向的结构体防止内存泄漏

    // 释放Redis连接对象
    redisFree(c);

    return 0;
}

编译

g++ hiredis_test.cpp -o a -lhiredis

出现错误

./a: error while loading shared libraries: libhiredis.so.1.0.0: cannot open shared object file: No such file or directory

解决方法

首先使用vim打开/etc/ld.so.conf
加入动态库文件所在的目录在“include ld.so.conf.d/*.conf下方增加/usr/local/lib”

在这里插入图片描述

最重要的一步,运行ldconfig使所有库文件都被缓存到文件/etc/ld.so.cache中

编译运行程序得到结果
在这里插入图片描述
查看redis
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值