下载安装包
1.wget下载获者本地官网下载再通过Linux工具上传
确定gcc并解压redis6
1.执行如下命令,确定gcc安装完成
yum -y install gcc gcc-c++ libstdc++-devel
2.解压
tar -zxvf redis-6.2.6.tar.gz
新建redis用户和组
使用root用户添加redis用户和组
useradd redis
编译安装
1.cd到解压好的目录
[root@middle ~]# cd redis-6.2.6
[root@middle redis-6.2.6]# pwd
/root/redis-6.2.6
[root@middle redis-6.2.6]#
2.执行make指令编译
make
最后结果如下即代表编译完成
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/root/redis-6.2.6/src'
[root@middle redis-6.2.6]#
3.安装,先切换到编译好的src目录下再执行安装指令
[root@middle src]# pwd
/root/redis-6.2.6/src
[root@middle src]#
4.设置redis安装目录
(1)新建redis目录
mkdir -p /usr/local/redis6
(2)新建数据目录
mkdir -p /usr/local/redis6/data
(3) 新建日志目录
mkdir -p /usr/local/redis6/log
(4)新建pid目录
mkdir -p /usr/local/redis6/pid
5.修改redis目录用户为redis和用户组为redis
chown redis -R /usr/local/redis6/
chgrp redis -R /usr/local/redis6/
6.安装redis
(1)make install 指令会安装到/usr/local/bin目录下
(2)make PREFIX=安装目录绝对路径 install
make PREFIX=/usr/local/redis6 install
显示下面信息即代表安装成功
[root@middle src]# make PREFIX=/usr/local/redis6 install
CC Makefile.depHint: It's a good idea to run 'make test' ;)
INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli
[root@middle src]#
执行编译测试make test
make test
如果有报错
先执行 sudo yum install tcl
再执行编译测试 make test
查看/usr/local/redis6/bin目录
[root@middle src]# cd /usr/local/redis6/bin/
[root@middle bin]# ll
total 18904
-rwxr-xr-x 1 root root 4829472 Dec 8 02:37 redis-benchmark
lrwxrwxrwx 1 root root 12 Dec 8 02:37 redis-check-aof -> redis-server
lrwxrwxrwx 1 root root 12 Dec 8 02:37 redis-check-rdb -> redis-server
-rwxr-xr-x 1 root root 5003760 Dec 8 02:37 redis-cli
lrwxrwxrwx 1 root root 12 Dec 8 02:37 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 9518888 Dec 8 02:37 redis-server
[root@middle bin]#
7.启动redis(无自定义配置)
[root@middle bin]# ./redis-server
16010:C 08 Dec 2021 02:42:16.188 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
16010:C 08 Dec 2021 02:42:16.188 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=16010, just started
16010:C 08 Dec 2021 02:42:16.188 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
16010:M 08 Dec 2021 02:42:16.188 * Increased maximum number of open files to 10032 (it was originally set to 1024).
16010:M 08 Dec 2021 02:42:16.188 * monotonic clock: POSIX clock_gettime
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 6.2.6 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 16010
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | https://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'16010:M 08 Dec 2021 02:42:16.189 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
16010:M 08 Dec 2021 02:42:16.189 # Server initialized
16010:M 08 Dec 2021 02:42:16.189 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
16010:M 08 Dec 2021 02:42:16.189 * Ready to accept connections
自定义启动配置文件redis.conf
vim /usr/local/conf/redis.conf
############### 基础配置 ##########
#1.是否以后台进程运行
daemonize yes#2.pid文件位置
pidfile /usr/local/redis6/pid/redis-server-pid.pid#3.监听端口
port 6379#4.绑定地址,如外网需要连接,设置0.0.0.0
bind 192.168.40.12#5.连接超时时间,单位秒
timeout 300#6.日志级别,分别有:
# debug :适用于开发和测试
# verbose :更详细信息
# notice :适用于生产环境
# warning :只记录警告或错误信息
own -R /usr/local/redis6/loglevel notice#7.日志文件位置
logfile /usr/local/redis6/log/redis-server.log#8.是否将日志输出到系统日志
syslog-enabled no#9.设置数据库数量,默认为16,默认使用数据库为0
############### 快照方式 ###############
#1.在900s(15m)之后,至少有1个key发生变化,则快照
save 900 1#2.在300s(5m)之后,至少有10个key发生变化,则快照
save 300 10#3.在60s(1m)之后,至少有1000个key发生变化,则快照
save 60 10000save 10 1
#4.dump时是否压缩数据
rdbcompression no#5.数据库(dump.rdb)文件存放目录
dir /usr/local/redis6/data/############### 安全 ###############
#1.配置redis连接认证密码
requirepass 123456############### 主从复制 ###############
#1.主从复制使用,用于本机redis作为slave去连接主redis
#slaveof <masterip> <masterport>#2.当master设置密码认证,slave用此选项指定master认证密码
#masterauth <master-password>#slave-serve-stale-data yes
############### 限制 ###############
#1.设置最大连接数,0为不限制
maxclients 128#2.设置最大内存数
#maxmemory <bytes>#3.内存清理策略,如果达到此值,将采取以下动作:
# volatile-lru :默认策略,只对设置过期时间的key进行LRU算法删除
# allkeys-lru :删除不经常使用的key
# volatile-random :随机删除即将过期的key
# allkeys-random :随机删除一个key
# volatile-ttl :删除即将过期的key
# noeviction :不过期,写操作返回报错
maxmemory-policy volatile-lru#4.默认随机选择3个key,从中淘汰最不经常用的
maxmemory-samples 3############### 附加模式 ###############
#1.AOF持久化,是否记录更新操作日志,默认redis是异步(快照)把数据写入本地磁盘
appendonly no#2.指定更新日志文件名
appendfilename appendonly.aof
dbfilename dump.rdb# AOF持久化三种同步策略:
# appendfsync always #每次有数据发生变化时都会写入appendonly.aof
# appendfsync everysec #默认方式,每秒同步一次到appendonly.aof
# appendfsync no #不同步,数据不会持久化
#当AOF日志文件即将增长到指定百分比时,redis通过调用BGREWRITEAOF是否自动重写AOF日志文件。
no-appendfsync-on-rewrite no############### 虚拟内存 ###############
#1.是否启用虚拟内存机制,虚拟内存机将数据分页存放,把很少访问的页放到swap上,内存占用多,最好关闭虚拟内存
#vm-enabled no#2.虚拟内存文件位置
#vm-swap-file /var/lib/redis/redis.swap#3.redis使用的最大内存上限,保护redis不会因过多使用物理内存影响性能
#vm-max-memory 0#4.每个页面的大小为32字节
#vm-page-size 32#5.设置swap文件中页面数量
#vm-pages 134217728#6.访问swap文件的线程数
#vm-max-threads 4############### 高级配置 ###############
#1.哈希表中元素(条目)总个数不超过设定数量时,采用线性紧凑格式存储来节省空间
#hash-max-zipmap-entries 512#2.哈希表中每个value的长度不超过多少字节时,采用线性紧凑格式存储来节省空间
#hash-max-zipmap-value 64#3.list数据类型多少节点以下会采用去指针的紧凑存储格式
#list-max-ziplist-entries 512#4.list数据类型节点值大小小于多少字节会采用紧凑存储格式
#list-max-ziplist-value 64#5.set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储
#set-max-intset-entries 512#6.是否激活重置哈希
#activerehashing yes
指定配置文件启动
[redis@middle bin]$ pwd
/usr/local/redis6/bin
[redis@middle bin]$ ./redis-server ../conf/redis.conf