建议将 Redis 部署到 Linux 服务器上,安装非常简单。 在 Linux 环境更接近生产环境,也可以更熟悉的使用 Linux 命令。

在Windows 上可安装 RedisDesktopManager 客户端来直观的查看存储在 Redis 中的数据。

Redis 安装

下载安装包

如果是从官网下载安装包,将安装包上传到 Linux 系统;可在 Linux 系统使用如下命令下载,也可以下载 Redis 的 Docker 镜像。

解压安装包

$ tar zxvf redis-4.0.9.tar.gz

进入解压目录

$ cd redis-4.0.9

编译,执行make命令

$ make

编译成功显示内容:make[1]: Leaving directory `/usr/local/redis-4.0.9/src'

安装 Redis

$ make PREFIX=/usr/local/redis install

查看安装目录

$ cd /usr/local/redis

该目录下会创建 bin 目录,目录里包含:redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server 二进制可执行文件。

指定配置文件启动服务

$ ./redis-server redis.conf &

& 表示后台启动,不会因为关闭终端而关闭服务

redis-server 以守护进程的方式后台启动 Redis

修改 Redis 配置文件

$ vim redis.conf

找到行内容为 daemonize no,将 no 改为 yes

因 Redis 是单线程的,而现在的服务器基本是多核多线程,单线程应用无法充分利用系统资源,所以在一台物理服务器上会启动多个 Redis实体,需要修改不同的端口号。

方式一:启动时指定端口号

$ ./redis-server redis.conf --port 6380

$ ./redis-server redis.conf --port 6381

方式二:给每个实例分别创建配置文件,在配置文件里设置不同的端口号

拷贝多份 Redis bin 目录,重命名,修改里面的端口号

$ ./redis6380/redis-server redis.conf

$ ./redis6381/redis-server redis.conf

执行多个服务启动停止,可以写个简单的 shell 脚本来批量执行。

停止 Redis,重启让配置启效

$ ps -ef|grep redis

kill - 9 redis_pid

$ ./redis-server redis.conf

连接 Redis

使用 redis-cli 连接到 Redis,默认是没有设置密码的,默认端口是 6379

$ ./redis-cli

127.0.0.1:6379> ping

PONG

表示连接是通的。

简单测试

设置键值对

$ set foo value1

根据键取值

$ get foo

结果显示:value1

通过客户端来停止 Redis 服务

127.0.0.1:6379> shutdown

显示 not connected 表示连接已断开,Redis服务已停止。

或在外部执行: ./redis-cli shutdown

停止 Redis 服务需要特别注意,学会优雅地停止 Redis 服务以保持数据的一致性,所以强烈建议使用 shutdown 命令,在发出 shutdown 命令后,服务端会停止客户端的连接,如果开启了持久化,则执行数据持久化操作;如果 .pid 文件和 socket存在的话,则对其进行清理,并最终退出进程,通过此策略,尽可能地防止数据丢失。

若使用 kill 命令来终止服务,由于服务端关闭之前数据可能尚未被持久化而导致丢失。另 使用 kill 命令发送 15 信号基本上等同于 shutdown 命令优雅地停止 redis-server。

全限定连接登录,主机,端口,密码

$ ./redis-cli -h 127.0.0.1 -p 6379 -a 123456

-h 服务器IP地址

-p port,端口

-a password,密码

默认是db0:0-15,共16个db

选项db: select db_index, 如选择db2: #select 2

显示所有的key

key:#keys *

查看服务器信息

127.0.0.1:6379> info

显示服务器,客户端,内存,持久化,状态,主从复制,CPU信息,集群 等所有信息指标,以键值对格式显示;定期地使用 info 命令来获取信息,可以用于对 Redis 进行监控。

可通过增加 参数来指定获取哪一部分信息

127.0.0.1:6379> info memory

配置文件

修改配置文件

$ vim redis.conf

修改登录密码

搜索 /requirepass

取消注释,或新增一行,修改登录密码

取消127.0.0.1绑定

搜索 /bind 127.0.0.1

bind 127.0.0.1 加上注释(头部添加 #),否则外部不能登录

自定义端口

搜索 /port 6379

默认端口是 6379,修改为自定义的端口号

配置后端运行模式

搜索 daemonize no

默认不是后端运行模式,把 no 改为 yes 启用后端运行模式

RedisDesktopManager

如果以上配置后,RDM 仍连不上 Redis 服务器,检查服务器操作系统是否开启了防火墙,屏蔽的端口。

以 CentOS 7为例,将 Redis 默认的端口加入到防火墙允许通过。

查看防火墙状态:systemctl status firewalld

添加一个端口:firewall-cmd --zone=public --add-port=6379/tcp --permanent

重新载入安全策略:firewall-cmd --reload

查看是否成功:firewall-cmd --zone=public --query-port=6379/tcp