自学内容网 自学内容网

【Redis】Linux下安装配置及通过C++访问Redis


一、Linux Centos 7.0版本下的安装及配置

通过源来安装,此次安装的版本为 redis 5.0 的,要通过其他源进行安装,首先安装 scl 源

yum install centos-release-scl-rh

再安装 redis

yum install rh-redis5-redis

然后创建符号链接(软链接),默认安装路径不方便访问,通过软链接更方便访问
1)针对可执⾏程序设置符号链接

cd /usr/bin
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-sentinel ./redis-sentinel
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-cli ./redis-cli

2)针对配置文件设置符号链接

cd /etc/
ln -s /etc/opt/rh/rh-redis5/ ./redis

再来是修改配置文件
首先进入目录 /etc/redis

cd /etc/redis

如下图红框内的是 redis 的配置文件
在这里插入图片描述
可以使用 vim 进入修改

vim redis.conf

接着按如下步骤修改
1)设置 ip 地址
在这里插入图片描述
表示监听任何 ip

2)关闭保护模式
在这里插入图片描述
改为 no 即可

3)启动守护进程
在这里插入图片描述

4)设置工作目录(非必须)
主要用于更方便的访问工作目录,嫌麻烦可以用默认的
先创建工作目录

mkdir -p /var/lib/redis

再在配置文件中设置工作目录
在这里插入图片描述

5)设置日志目录(非必须)
主要用于更方便的查看日志,嫌麻烦可以用默认的
先创建日志目录

mkdir -p /var/log/redis/

再在配置文件中设置日志目录
在这里插入图片描述

至此安装并配置 Redis 完毕,最后启动 redis 即可

redis-server /etc/redis/redis.conf

这是通过配置文件直接启动,通过指令

netstat -anp | head -2 && netstat -anp | grep redis

可以看到运行的 redis 服务
在这里插入图片描述
redis 的端口为 6379,接着可以在 Linux 下直接启动 redis 客户端

redis-cli --raw

如下图
在这里插入图片描述
来测试一下是否成功连接服务器,输入 ping,如果返回 PONG 就表示连接成功
在这里插入图片描述
ps:启动 redis 客户端时可以加上 --raw,加上的作用时输出中文时显示中文

二、通过C++访问Redis

首先在 github 上搜索 redis-plus-plus,链接直达:redis-plus-plus
这是大佬写好的库,可以直接调用其接口来访问自己的 redis 服务器。
准备工作:
1)因为我的Linux 版本是 Centos 7.0,而自带的 cmake 版本较低,所以需要先安装 cmake3

yum install cmake3

2)因为 redis-plus-plus 是基于 hiredis 实现的,因此需要先安装 hiredis

git clone https://github.com/redis/hiredis.git
cd hiredis
make
make install

成功安装后会获得如下动静态库
在这里插入图片描述
3)接着安装 redis-plus-plus

git clone https://github.com/sewenew/redis-plus-plus.git
cd redis-plus-plus
mkdir build
cd build
cmake3 ..
make
make install

成功安装后会获得如下动静态库
在这里插入图片描述
至此安装完成,在通过 C++ 访问 redis 时,就可以调用 redis-plus-plus 提供的相关 API 了,别忘了包含对应头文件

#include <sw/redis++/redis++.h>

一个简单的使用例子:

#include <iostream>
#include <sw/redis++/redis++.h>
using namespace std;

int main()
{
    sw::redis::Redis redis("tcp://127.0.0.1:6379"); //连接到 redis 服务器

    redis.flushall();

    string echo = redis.ping();
    cout << echo << endl;

    redis.set("k1", "v1");
    redis.set("k2", "v2");
    redis.set("k3", "v3");

    return 0;
}

使用 g++ 编译时别忘了指明相关库的路径,比如:

.PHONY:test
test:test.cpp
g++ -o $@ $^ /usr/local/lib64/libredis++.a /usr/local/lib/libhiredis.a -std=c++17

执行结果:
在这里插入图片描述
redis 数据库中也确实存储了对应的键值对
在这里插入图片描述
如需了解更多 API 请访问 redis-plus-plus 项目的 API Reference


原文地址:https://blog.csdn.net/m0_62714628/article/details/142464821

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!