Redis是一个开源,高性能和灵活的内存数据结构存储(键值格式) - 用作数据库,缓存和消息代理。 它是用ANSI C编写的,并且在绝大多数Unix类操作系统(包括Linux(推荐用于部署))上运行,而无需外部依赖。
它是功能丰富的,支持多种编程语言和数据结构,包括字符串,散列,列表,集合,排序集与范围查询,位图等。
Redis特点:
- 支持大多数编程语言,包括C,Bash,Python,PHP,Node.js,Perl,Ruby等等。
- 具有固有的复制,Lua脚本,LRU驱逐,事务以及不同级别的磁盘持久性。
- 通过Redis Sentinel提供高可用性,并通过Redis Cluster进行自动分区。
- 支持运行原子操作。
- 它与内存中的数据集一起工作,以获得卓越的性能。
- 支持简单的设置主从异步复制。
- 支持自动故障切换。
- 使您能够在一段给定的时间内不经常地将数据集保存到磁盘,或通过将每个命令附加到日志中。
- 允许选择性禁用持久性。
- 支持发布/订阅消息。
- 还支持MULTI,EXEC,DISCARD和WATCH交易等等。
要求:
- CentOS 7服务器和RHEL 7服务器 ,安装最少
- 一个Ubuntu服务器或Debian服务器与最小的安装
- GCC编译器和libc
在本教程中,我们将介绍如何在Linux中从源安装Redis Server(这是推荐的方法)。 我们还将展示如何配置,管理和保护Redis。 由于Redis服务于内存中的所有数据,我们强烈建议您使用本指南使用高内存VPS服务器 。
第1步:从源安装Redis Server
1.首先安装所需的构建依赖项。
--------------- On CentOS / RHEL / Fedora --------------- # yum groupinstall "Development Tools" # dnf groupinstall "Development Tools" --------------- On Debian / Ubuntu --------------- $ sudo apt install build-essential
接下来,使用wget命令使用始终指向最新的稳定的Redis的特殊URL下载并编译最新的稳定的Redis版本。
$ wget -c http://download.redis.io/redis-stable.tar.gz $ tar -xvzf redis-stable.tar.gz $ cd redis-stable $ make $ make test $ sudo make install
3.在Redis编译之后,Redis发行版中的src
目录填充有与Redis不同的以下可执行文件:
- redis-server -redis服务器。
- redis-sentinel - redis sentinel可执行文件(监控和故障切换)。
- redis-cli - 与redis交互的CLI实用程序。
- redis-benchmark - 用来检查redis的表现。
- redis-check-aof和redis-check-dump - 在极少数据损坏的数据文件中很有用。
第2步:在Linux中配置Redis Server
4.接下来,您需要为由init系统管理的开发环境配置redis(系统为本教程的目的)。 首先创建用于存储redis配置文件和数据的必需目录:
$ sudo mkdir /etc/redis $ sudo mkdir -p /var/redis/
然后将所提供的模板redis配置文件复制到上面创建的目录中。
$ sudo cp redis.conf /etc/redis/
5.现在打开配置文件并更新一些设置如下。
$ sudo vi /etc/redis/redis.conf
6.接下来搜索以下选项,然后根据您当地的环境需求更改(或使用)其默认值。
port 6379 #default port is already 6379. daemonize yes #run as a daemon supervised systemd #signal systemd pidfile /var/run/redis.pid #specify pid file loglevel notice #server verbosity level logfile /var/log/redis.log #log file name dir /var/redis/ #redis directory
第3步:创建Redis Systemd单元文件
7.现在,您需要为redis创建一个systemd单元文件,以便通过运行以下命令来控制守护程序。
$ sudo vi /etc/systemd/system/redis.service
并添加以下配置:
[Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=root Group=root ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always Type=Forking [Install] WantedBy=multi-user.target
保存并关闭文件。
第4步:在Linux中管理和测试Redis Server
8.执行所有必要的配置后,现在可以启动Redis服务器,使其在系统启动时自动启动; 然后查看其状态如下。
$ sudo systemctl start redis $ sudo systemctl enable redis $ sudo systemctl status redis
接下来,测试整个redis设置是否正常工作。 要与redis服务器交互,请使用redis-cli命令。 连接到服务器后,尝试运行几个命令。
$ redis-cli Test connection to server using ping command: 127.0.0.1:6379> ping Use the echo command to echo a given string: 127.0.0.1:6379> echo "youcl is testing Redis" You can also set a key value using the set command like this: 127.0.0.1:6379> set mykey "youcl is testing Redis" Now view the value of mykey: 127.0.0.1:6379> get mykey
10.然后使用exit
命令关闭连接,然后重新启动redis服务器。 然后检查mykey是否仍然存储在服务器上,如下所示:
127.0.0.1:6379> exit $ sudo systemctl restart redis $ redis-cli 127.0.0.1:6379> get mykey
11.要删除密钥,请使用delete命令,如下所示:
127.0.0.1:6379> del mykey 127.0.0.1:6379> get mykey
第5步:在Linux中保护Redis Server
12.本节适用于打算使用连接到Internet等外部网络的redis服务器的用户。
重要提示 :在没有任何安全性的情况下将重新安装到互联网上,非常容易利用; 因此可以如下安装redis服务器:
- 阻止与系统中redis端口的连接防火墙
- 将bind指令设置为loopback接口:127.0.0.1
- 设置requirepass选项,以便客户端需要使用AUTH命令进行身份验证。
- 设置SSL隧道以加密Redis服务器和Redis客户端之间的流量。
有关更多使用信息,请运行以下命令:
$ redis-cli -h
您可以在Redis Homepage中找到更多服务器命令,并了解如何在应用程序中使用redis: https : //redis.io/
在本教程中,我们展示了如何在Linux中安装,配置,管理以及安全的Redis。 要分享任何想法,请使用下面的注释表单。