一、 简单介绍 Redis是一个开源(BSD授权)的基于内存键值对存储数据库,也常用来做缓存和消息中介。它支持字符串、哈希、列表、集合等多种数据结构。Redis内置了复制、Lua脚本、事务和磁盘持久性,并通过哨兵(Redis Sentinel)和集群(Redis Cluster)自动分区提供高可用性。

Redis是最目前流行的键值对存储数据库。

Redis将数据全部运行在内存中,因此速度非常快,经常用来当作缓存,以减轻数据库的压力。

二、 部署 我们从Redis官网:( https://redis.io/ )下载最新的安装包,当前最新版本为6.0.6。在此将以CentOS8操作系统为例,讲述Redis 6.0.6的安装过程。

首先解压安装包:

tar -zxvf redis-6.0.6.tar.gz -C /usr/local/src/

进入解压缩后的目录:

cd /usr/local/src/redis-6.0.6

通过当前目下的README.md文件,我们得知,编译时需要指定MALLOC=libc:

make MALLOC=libc

如果使用默认的jemalloc,则需要安装jemalloc-devel:

yum install epel-release
yum install jemalloc-devel

然后直接执行make命令即可

此命令需要安装gcc编译器。编译完成后最好执行make test进行测试,监测安装是否有问题(同样需要安装tcl工具,可执行yum install tcl -y安装)。

make test执行完成后,Redis就可以使用了。Redis的配置文件一般命名为redis.conf,在源码包里有。

Redis的启动命令为redis-server /path/redis.conf,默认为前台启动。如果需要后台启动,需要在配置文件中加入daemonize yes配置项。

启动前需要修改几个系统配置:

1.	/proc/sys/net/core/somaxconn值,默认是128,需要相应调大(大于等于511)。此项表示系统级TCP最大全连接队列。
2.	vm.overcommit_memory值设为1,指定内存分配策略。可以让系统在低内存状态下保证Redis可以创建bgsave子进程,用于做数据快照。
3.	Transparent Huge Pages (THP),系统默认支持大内存页(2MB)分配,这会增加内存使用,加大延迟时间。可以通过执行命令’ echo never > /sys/kernel/mm/transparent_hugepage/enabled’关闭。

三、 使用 Redis有自带的客户端redis-cli,使用方法如下:

redis-cli -h ip -p port

redis的默认端口是6379,绑定的网卡是loopback,可以本地执行redis-cli进入:

[root@localhost ~]# redis-cli 
127.0.0.1:6379> DBSIZE
(integer) 0
127.0.0.1:6379> set hello 'world'
OK
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379>