Ubuntu 16.04下安装Redis 以及C++连接Redis

一、Redis介绍

Redis是当前比较热门的NOSQL系统之一,它是一 个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括 string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在 此基础上,Redis支持各种不同方式的排序。
和Memcache 一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存 清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入 追加的记录文件,实现数据的持久化。

二、Redis的安装

下面介绍在Ubuntu 16.04环境下,Redis的安装与部署

1、首先上官网下载Redis 压缩包,地址:http://download.redis.io/releases/ 下载版本5.0.0即可。

2、解压并编译Redis

$ tar xzf redis-5.0.0.tar.gz
$ cd redis-5.0.0
$ make

3、运行Redis服务端

$ src/redis-server

4、另一终端运行Redis客户端

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

5、至此,Redis已经安装完成。

三、C++连接Redis

1、编写C++程序连接Redis

#include <stdio.h>  
#include <stdlib.h>  
#include <stddef.h>  
#include <stdarg.h>  
#include <string.h>  
#include <assert.h>  
#include "../hiredis/hiredis.h"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在C++中构建Redis,你可以使用redis_plus_plus库。这是一个基于hiredisC++客户端库,兼容C++ 17、C++ 14和C++ 11。它提供了许多特性,包括大多数Redis命令、连接池、Redis脚本、线程安全性、发布/订阅、管道、事务、Redis集群、Redis Sentinel、类似STL的接口、通用命令接口、Redis Stream、Redlock、Redis ACL以及TLS/SSL支持。\[2\] 要在Linux下编译安装redis_plus_plus,你需要按照以下步骤进行操作: 1. 创建一个临时目录。 2. 在该目录下创建一个新文件redis.h,并将以下代码复制到文件中: ```cpp #ifndef _REDIS_H_ #define _REDIS_H_ #include <iostream> #include <string.h> #include <string> #include <stdio.h> #include <hiredis/hiredis.h> class Redis { public: Redis(){} ~Redis() { this->_connect = NULL; this->_reply = NULL; } bool connect(std::string host, int port) { this->_connect = redisConnect(host.c_str(), port); if(this->_connect != NULL && this->_connect->err) { printf("connect error: %s\n", this->_connect->errstr); return 0; } return 1; } std::string get(std::string key) { this->_reply = (redisReply*)redisCommand(this->_connect, "GET %s", key.c_str()); std::string str = this->_reply->str; freeReplyObject(this->_reply); return str; } void set(std::string key, std::string value) { redisCommand(this->_connect, "SET %s %s", key.c_str(), value.c_str()); } private: redisContext* _connect; redisReply* _reply; }; #endif //_REDIS_H_ ``` 3. 使用适当的编译器编译你的代码,并链接hiredis库。例如,你可以使用以下命令编译: ``` g++ redis.cpp -o redis -L/usr/local/lib/ -lhiredis ``` 其中,redis.cpp是你的源代码文件,-o redis指定输出文件名为redis,-L/usr/local/lib/指定hiredis库的路径,-lhiredis指定链接hiredis库。\[1\] 这样,你就可以在C++中使用redis_plus_plus库来构建Redis了。 #### 引用[.reference_title] - *1* *3* [Redis基础,Linux安装Redis和hredisC++调用RedisRedis中字符串设计](https://blog.csdn.net/qq_41854911/article/details/121600815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【C++redis client: redis_plus_plus](https://blog.csdn.net/yzf279533105/article/details/129697932)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值