Redis的配置

Redis的基本配置

请注意文章时间,如果过久将可能不适用

一、安装

1. 在 Linux 上安装 Redis

大多数主要 Linux 发行版都提供了 Redis 软件包。

在 Ubuntu/Debian 上安装

您可以从官方packages.redis.ioAPT 存储库安装 Redis 的最新稳定版本。

先决条件

如果您正在运行一个非常小的发行版(例如 Docker 容器),您可能需要安装lsb-release,curl并且gpg首先:

1
>sudo apt install lsb-release curl gpg

将存储库添加到索引apt,更新它,然后安装:

1
2
3
4
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis

从 Snapcraft 安装

Snapcraft 商店提供了可以安装在支持 snap 的平台上的Redis 软件包。大多数主要 Linux 发行版都支持并提供 Snap。

要通过 snap 安装,请运行:

1
sudo snap install redis

如果您的 Linux 当前尚未安装 snap,请按照安装 snapd中所述的说明进行安装。

2. 在 macOS 上安装 Redis

使用 Homebrew 在 macOS 上安装并启动 Redis

Homebrew 是在 macOS 上安装 Redis 的最简单方法。如果您希望在 macOS 上从源文件构建 Redis,请参阅从源安装 Redis

先决条件

首先,确保您已安装 Homebrew。从终端运行:

1
brew --version

如果此命令失败,您需要按照 Homebrew 安装说明进行操作。

安装

从终端运行:

1
brew install redis

这将在您的系统上安装 Redis。

在前台启动和停止 Redis

要测试 Redis 安装,您可以redis-server从命令行运行可执行文件:

1
redis-server

如果成功,您将看到 Redis 的启动日志,并且 Redis 将在前台运行。

要停止 Redis,请输入Ctrl-C

使用 launchd 启动和停止 Redis

作为在前台运行 Redis 的替代方案,您还可以使用launchd在后台启动进程:

1
brew services start redis

这将启动 Redis 并在登录时重新启动。launchd您可以通过运行以下命令来检查托管 Redis 的状态:

1
brew services info redis

如果服务正在运行,您将看到如下输出:

1
2
3
4
5
redis (homebrew.mxcl.redis)
Running: ✔
Loaded: ✔
User: miranda
PID: 67975

要停止该服务,请运行:

1
brew services stop redis

连接到 Redis

Redis 运行后,您可以通过运行以下命令来测试它redis-cli

1
redis-cli

这将打开 Redis REPL。尝试运行一些命令:

1
2
3
4
127.0.0.1:6379> lpush demos redis-macOS-demo
OK
127.0.0.1:6379> rpop demos
"redis-macOS-demo"

3. 从源安装 Redis

从源代码编译并安装 Redis

您可以在各种平台和操作系统(包括 Linux 和 macOS)上从源代码编译和安装 Redis。除了 C 编译器和libc.

下载源文件

Redis 源文件可从下载页面获取。您可以通过对照redis-hashes git 存储库中的摘要检查这些下载的完整性,以验证这些下载的完整性。

要从 Redis 下载站点获取最新稳定版本 Redis 的源文件,请运行:

1
wget https://download.redis.io/redis-stable.tar.gz

编译Redis

要编译 Redis,首先是 tarball,切换到根目录,然后运行make

1
2
3
tar -xzvf redis-stable.tar.gz
cd redis-stable
make

如果编译成功,您将在src目录中找到几个Redis二进制文件,包括:

  • redis-server:Redis 服务器本身
  • redis-cli是与 Redis 交互的命令行界面实用程序。

要在 中安装这些二进制文件/usr/local/bin,请运行:

1
make install

在前台启动和停止 Redis

安装后,您可以通过运行来启动 Redis

1
redis-server

如果成功,您将看到 Redis 的启动日志,并且 Redis 将在前台运行。

要停止 Redis,请输入Ctrl-C

二、持久化配置

三、主从配置

四、安装一些Redis库

1. 安装hiredis

通常,您可以使用 C++ 包管理器安装hiredis,这是最简单的方法,例如sudo apt-get install libhiredis-dev。但是,如果您想安装hiredis的最新代码或指定版本(例如异步支持需要hiredis v1.0.0或更高版本),您可以从源代码安装。

再次注意:请勿安装多个版本的 HIREDIS。

1
2
3
4
git clone https://github.com/redis/hiredis.git
cd hiredis
sudo make
sudo make install

默认情况下,hiredis安装在*/usr/local。如果要将hiredis*安装在非默认位置,请使用以下命令指定安装路径。

1
2
make PREFIX=/non/default/path
make PREFIX=/non/default/path install

2. 安装redis-plus-plus

redis-plus-plus是使用CMAKE构建的。

1
2
3
4
5
6
7
8
git clone https://github.com/sewenew/redis-plus-plus.git
cd redis-plus-plus
mkdir build
cd build
sudo cmake ..
sudo make
sudo make install
cd ..

如果hiredis安装在非默认位置,则应使用指定hiredisCMAKE_PREFIX_PATH的安装路径。默认情况下,redis-plus-plus安装在*/usr/local。但是,您可以使用在非默认位置安装redis-plus-plus 。*CMAKE_INSTALL_PREFIX

1
cmake -DCMAKE_PREFIX_PATH=/path/to/hiredis -DCMAKE_INSTALL_PREFIX=/path/to/install/redis-plus-plus ..

从 1.3.0 版本开始,默认情况下,redis-plus-plus是按照标准构建的-std=c++17。这样我们就可以使用std::string_viewstd::可选功能。但是,它也可以使用-std=c++11-std=c++14标准构建,在这种情况下,我们有自己的std::string_view和的简单实现std::optional。为了明确指定 C++ 标准,您可以使用以下 cmake 标志:-DREDIS_PLUS_PLUS_CXX_STANDARD=11

1
cmake -DCMAKE_PREFIX_PATH=/path/to/hiredis -DCMAKE_INSTALL_PREFIX=/path/to/install/redis-plus-plus -DREDIS_PLUS_PLUS_CXX_STANDARD=11 ..

注意:您应该使用相同的标准构建redis-plus-plus和您的应用程序,例如,如果您使用 C++17 标准构建redis-plus-plus ,则还必须使用 C++17 标准构建应用程序代码。

编译redis-plus-plus时,还会编译一个测试程序,这可能需要一段时间。但是,您可以使用以下 cmake 选项禁用构建测试:-DREDIS_PLUS_PLUS_BUILD_TEST=OFF

1
cmake -DCMAKE_PREFIX_PATH=/path/to/hiredis -DCMAKE_INSTALL_PREFIX=/path/to/install/redis-plus-plus -DREDIS_PLUS_PLUS_BUILD_TEST=OFF ..

默认情况下,redis-plus-plus同时构建静态库和共享库。如果您只想构建其中一个,可以使用-DREDIS_PLUS_PLUS_BUILD_STATIC=OFF或禁用另一个-DREDIS_PLUS_PLUS_BUILD_SHARED=OFF

redis-plus-plus默认情况下使用选项构建静态库-fPIC,即位置无关代码。但是,您可以使用 禁用它-DREDIS_PLUS_PLUS_BUILD_STATIC_WITH_PIC=OFF