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
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1621298.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Docker vs. Podman: 选择容器技术的智慧之选

嗨&#xff0c;各位亲爱的程序员小伙伴们&#xff01;当我们步入容器技术的世界&#xff0c;往往会在众多选择中迷茫。两个备受瞩目的容器工具&#xff0c;Docker 和 Podman&#xff0c;都在业界掀起了一股风潮。今天&#xff0c;我将带你深入探索&#xff0c;为什么在 Docker …

购买的gmail谷歌邮箱,faceboolhotmail邮箱mail邮箱yahoo,aol在国外使用完全不受影响,购买地址推荐:

购买的谷歌邮箱,faceboolhotmail邮箱mail邮箱yahoo,aol在国外使用完全不受影响&#xff0c;购买地址推荐&#xff1a;邮箱谷歌批发购买地址&#xff1a;buyemail.buyaccountemail.com记好了 登录方法如下 1、下载QQ邮箱手机客户端 2、先使用QQ邮箱登陆到客户端 谷歌邮箱 …

免费激活Yahoo邮箱的POP3服务

通过POP3&#xff0c;我们就能够在本机上使用各种邮件客户端软件(Foxmail、Outlook等)收发电子邮件。 Yahoo免费邮箱没有提供免费POP3服务&#xff0c;而通过邮箱里的设置激活该服务时则被提示需要收费。如图1所示 图1 笔者就给大伙介绍一个小技巧&#xff0c;可以免费地打开Ya…

Foxmail6下@yahoo.cn邮箱设置

http://www.88sina.com/foxmail-yahoo.cn/(转) 昨天申请了一个yahoo.cn的邮箱&#xff0c;在Foxmail中弄了半天&#xff0c;就是使用不了&#xff0c;不是提示输密码就是提示这样那样的错误&#xff0c;今天在网上找来找去&#xff0c;试来试去&#xff0c;终于可以正常收发邮件…

雅虎邮箱 找回密码_如何恢复被遗忘的Yahoo! 密码

雅虎邮箱 找回密码 If you don’t use a password manager, those complex passwords can be pretty hard to remember. If you’ve forgotten your Yahoo password, you can’t really recover that same password, but it’s easy enough to recover your account by resetti…

类似于yahoo邮箱登陆的提示效果

当鼠标聚焦到邮箱地址文本框时&#xff0c;文本框内的“请输入邮箱地址”文字被清空。 效果图&#xff1a; <% Page Language"C#" AutoEventWireup"true" CodeFile"类似于yahoo邮箱登陆的提示效果.aspx.cs" Inherits"类似于yahoo邮箱登…

java雅虎邮件发送

java雅虎邮件发送 1、在网页上登录雅虎邮箱-需翻墙2、登录成功后台&#xff0c;进入账号资料3、进入账户安全&#xff0c;开启双重验证4、创建应用5、替换配置中的邮箱密码即可使用 申请雅虎邮箱后&#xff1a; application.yml配置 spring:mail:host: smtp.mail.yahoo.compo…

【kubernetes】使用kubepshere部署中间件服务

KubeSphere部署中间件服务 入门使用KubeSphere部署单机版MySQL、Redis、RabbitMQ 记录一下搭建过程 (内容学习于尚硅谷云原生课程) 环境准备 VMware虚拟机k8s集群&#xff0c;一主两从&#xff0c;master也作为工作节点&#xff1b;KubeSphere k8skubesphere devops比较占用磁…

Visual Studio 2017安装和项目配置

目录 前言1. What、Why and How1.1 What1.2 Why1.3 How 2. 安装3. 创建新项目4. 配置OpenCV库4.1 下载opencv安装包4.2 配置系统环境变量4.3 VS项目环境配置4.4 总结 5. 已有项目添加6. Tips6.1 常用快捷键6.2 字体和颜色选择6.3 配置编译路径 结语下载链接参考 前言 最近因为项…

scratch3.0接苹果小游戏

Scratch是可视化的编程语言&#xff0c;其丰富的学习环境适合所有年龄阶段的人。利用它可以制作交互式程序、富媒体项目&#xff0c;包括动画故事、读书报告、科学实验、游戏和模拟程序等。与其他编程语言相比&#xff0c;Scratch的可视化编程环境让我们更容易领略编程的魅力 今…

接水果游戏代码 c语言,制作接水果游戏

今天是儿童节&#xff0c;让老师教同学们做个接水果的小游戏吧。 我们新建一个项目&#xff0c;把小猫角色删除&#xff0c;然后选择一个碗的角色来接水果: 把碗移动到白色画布的下半部分&#xff0c;让它可以随着鼠标的移动而左右移动&#xff0c;但是不需要上下移动。方法就是…

游戏黑卡代充36技术及库存系统案例分析

黑卡充值常隐匿于「代充」服务中&#xff0c;且形式多变&#xff0c;从外币汇率差、退款到36漏洞、黑卡/盗刷信用卡充值&#xff0c;甚至还出现了专门的库存系统。 「36漏洞」是利用iOS小额支付漏洞实现的刷单套利业务。苹果为提高用户体验&#xff0c;在 APP Store 购买商品时…

苹果arcade爆款游戏《海绵宝宝》推荐

最近,一款IOS纸牌游戏《海绵宝宝》&#xff08;SpongeBob SolitairePants&#xff09;上线就占据了美区App Store游戏排行榜前三,这就是今天要推荐给大家的Arcade精品游戏,所有已开通苹果arcade订阅的玩家都可以在App Store直接免费下载&#xff0c;如果还没有arcade订阅的玩家…

python3小游戏(1):吃苹果小游戏

python小白群交流&#xff1a;861480019 注意&#xff0c;申请入群时必须备注“不发广告”&#xff0c;不然不通过(禁止在群里发广告&#xff0c;不然诅咒你)&#xff0c;另外这个群都是一群和我一样的小白&#xff0c;大家谁也不说谁&#xff0c;共同进步&#xff08;ps:写这…

接苹果游戏 小学生邀请赛T3

思路&#xff1a; 虽然M代表了小船的占列宽&#xff0c;但是小船每次只能移动一格&#xff0c;所以我们首先排除在小船初始位置范围内的苹果&#xff0c;然后再让小船一步一步移动&#xff0c;直到最大范围能够接到苹果&#xff0c;因为小船初始位置在最左侧&#xff0c;所以不…

【MongoDB系列】-MongoDB详解(一文让你明白什么是MongoDB)

MongoDB简介 MongoDB 是一个开源的、跨平台的、面向文档的、基于分布式文件存储的数据库系统&#xff0c;MongoDB 是由 C 语言开发&#xff0c;旨在为 Web 应用提供可扩展的高性能数据存储解决方案。在高负载的情况下&#xff0c;通过添加更多的节点&#xff0c;可以保证服务器…

【蓝桥杯选拔赛真题13】Scratch接苹果游戏 少儿编程scratch蓝桥杯选拔赛真题讲解

目录 scratch接苹果游戏 一、题目要求 编程实现 二、题目分析

【JAVA】String 类

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;浅谈Java &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; String 1. 字符串构造2. String对象的比…