Redis安装
//
# Shell脚本安装
默认关闭防火墙
#!/bin/bash
Path=$(cd $(dirname $0); pwd)
IPAddr=$(ifconfig eth0|awk 'NR==2{print $2}')
read -p "默认redis工作路径在/opt/redis,需要修改吗?注意:修改请输入绝对路径 " path
if [ ! -z ${path} ];then
Dir=${path}
echo "你的数据库工作路径在 ${Dir} "
else
Dir=/opt/redis
fi
sleep 2
ping -c 1 223.5.5.5 &>/dev/null
if [ $? -ne 0 ];then
echo "请检查网路"
exit 10
else
echo "正常网络"
fi
#安装基础依赖包
yum -y install gcc gcc-c++ libstdc++-devel
mkdir -p ${Dir}/{conf,data,logs,bin}
if [ ! -f ${Path}/redis-3.2.12.tar.gz ];then
wget http://download.redis.io/releases/redis-3.2.12.tar.gz -P ${Path}
fi
cd ${Path} && tar xf ${Path}/redis-3.2.12.tar.gz
cd ${Path}/redis-3.2.12
make PREFIX=${Dir} install
make PREFIX=/usr/local/redis install
#添加开机自启动
cat >/usr/lib/systemd/system/redis.service<<OPO
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
User=root
Group=root
ExecStart=${Dir}/bin/redis-server ${Dir}/conf/redis-6379.conf
ExecReload=/bin/kill -s HUP \$MAINPID
ExecStop=${Dir}/bin/redis-cli -p 6379 -h ${IPAddr} shutdown
PrivateTmp=true
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
OPO
#修改配置文件
cp ${Path}/redis-3.2.12/redis.conf ${Dir}/conf
mv ${Dir}/conf/redis.conf ${Dir}/conf/redis-6379.conf
sed -i "s#bind 127.0.0.1#bind ${IPAddr}#g" ${Dir}/conf/redis-6379.conf
sed -i 's#daemonize no#daemonize yes#g' ${Dir}/conf/redis-6379.conf
#修改系统参数
echo 511 >/proc/sys/net/core/somaxconn
echo "vm.overcommit_memory=1" >>/etc/sysctl.conf
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled">>/etc/rc.local
echo "export PATH=\$PATH:${Dir}/bin" >>/etc/profile
if ! $(grep 'soft nofile' /etc/security/limits.conf>/dev/null) ;then
cat >> /etc/security/limits.conf <<EOF
* soft nofile 65535
* hard nofile 65536
hive - nofile 65535
hive - nproc 65535
EOF
fi
sed -i 's#4096#65535#g' /etc/security/limits.d/20-nproc.conf
echo "执行 sourece /etc/profile"
echo "${Dir}/conf/redis-6379.conf"
${Dir}/bin/redis-server ${Dir}/conf/redis-6379.conf &
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# redis.conf配置说明
redis.conf
参数 | 说明 | 示例 |
---|---|---|
daemonize yes | 是否后台运行 | |
port 6379 | 端口 | |
logfile /var/log/redis.log | 日志文件位置 | |
dir /data/6379 | 持久化文件存储位置 | |
dbfilename dump.rdb | RDB持久化数据文件 | |
bind 10.0.0.51 | redis监听地址 | |
requirepass password123 | 设置密码 |
- requirepass
redis.conf 设置密码:requirepass password123
登录验证
方法一:
[root@db03 ~]# redis-cli -a password123
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> exit
方法二:
[root@db03 ~]# redis-cli
127.0.0.1:6379> auth password123
OK
127.0.0.1:6379> set a b
OK
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# redis 持久化方式有哪些?有什么区别?
# RDB持久化
基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rdb持久化功能,基于时间点快照(point-in-time snapshot)
优点: 速度快,适合于用做备份,主从复制(主复制集Master-Replicas)也是基于RDB持久化功能实现的。
缺点: 会有数据丢失
- 持久化核心配置参数:redis.conf
dir /data/6379
dbfilename dump.rdb
save 900 1
save 300 10
save 60 10000
#说明
900秒(15分钟)内有1个更改
300秒(5分钟)内有10个更改
60秒内有10000个更改
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# AOF持久化
以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的binlog
只追加的日志文件,类似与MySQL binlog,记录的是redis的所有变更类操作,以追加形式记录到磁盘日志(文本模式)文件上.
redis 也会定期的清理AOF日志文件
优点: 可以最大程度保证数据不丢
缺点: 日志记录量级比较大
- 持久化核心配置参数:redis.conf
appendonly yes
appendfsync always
appendfsync everysec
appendfsync no
#说明
yes:是否打开aof日志功能
always:每1个命令,都立即同步到aof,会极大消弱Redis的性能,因为这种模式下每次write后都会调用fsync(Linux为调用fdatasync)。
everysec:为最多每秒调用一次fsync,这种模式性能并不是很糟糕,一般也不会产生毛刺,这归功于Redis引入了BIO线程,所有fsync操作都异步交给了BIO线程。
no:则write后不会有fsync调用,由操作系统自动调度刷磁盘,性能是最好的。由操作系统判断缓冲区大小,统一写入到aof.
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 个人存储下载地址。。。
redis-3.2.12.tar.gz
redis-5.0.12-1.x86_64.rpm
redis-bin-4.0.14.gz
redis-bin-6.gz
redis-desktop-manager-2020.0.0.0.exe
1
2
3
4
5
6
7
2
3
4
5
6
7
//
如果此文章对您有帮助,点击 -->> 请博主喝咖啡 (opens new window)
上次更新: 2023/11/20, 16:23:11