安装单机版redis
[root@redis-master ~]# mkdir -p /data/application ---创建工作目录
[root@redis-master ~]# wget http://download.redis.io/releases/redis-5.0.10.tar.gz ---下载redis
[root@redis-master ~]# tar xzf redis-5.0.10.tar.gz -C /data/application/ ---解压
[root@redis-master ~]# cd /data/application/
[root@redis-master application]# mv redis-5.0.10/ redis
[root@redis-master application]# cd redis/
[root@redis-master redis]# yum install -y gcc make #安装编译工具
[root@redis-master redis]# make
注:如果报错请将刚才解压的安装包删除掉,再次重新解压并进行make安装即可。
[root@redis-master redis]# cp redis.conf redis.conf.bak
[root@redis-master redis]# vim redis.conf ---修改如下
bind 192.168.246.202 #只监听内网IP
daemonize yes #开启后台模式将on改为yes
timeout 300 #连接超时时间
port 6379 #端口号
dir /data/application/redis/data #本地数据库存放持久化数据的目录该目录-----需要存在
pidfile /var/run/redis_6379.pid #定义pid文件
logfile /var/log/redis.log #定义log文件
创建存放数据的目录
[root@redis-master redis]# mkdir /data/application/redis/data
配置redis为systemctl启动
[root@redis-master redis]# cd /lib/systemd/system
[root@redis-master system]# vim redis.service
[Unit]
Description=Redis
After=network.target[Service]
ExecStart=/data/application/redis/src/redis-server /data/application/redis/redis.conf --daemonize no
ExecStop=/data/application/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown[Install]
WantedBy=multi-user.target启动服务:
[root@redis-master system]# systemctl daemon-reload
[root@redis-master system]# systemctl start redis.service
登陆redis
[root@redis-master system]# cd /data/application/redis/src/
[root@redis-master src]# ./redis-cli -h 192.168.246.202 -p 6379
192.168.246.202:6379> ping ---测试redis是否可以用
PONG
192.168.246.202:6379> set name ll #设置key--name,并设置值
OK
192.168.246.202:6379> get name #获取key
"ll"
参数详解:
• [Unit] 表示这是基础信息
• Description 是描述
• After 是在那个服务后面启动,一般是网络服务启动后启动
• [Service] 表示这里是服务信息
• ExecStart 是启动服务的命令
• ExecStop 是停止服务的指令
[Install] 表示这是是安装相关信息
WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
持久化配置
开启持久化功能后,重启redis,数据会自动通过持久化文件恢复!
1、RDB默认开启:
[root@redis-master src]# cd ..
[root@redis-master redis]# vim redis.conf #dbfilename:持久化数据存储在本地的文件
dbfilename dump.rdb
#dir:持久化数据存储在本地的路径
dir /data/application/redis/data
##snapshot触发的时机,save <seconds> <changes>
##如下为900秒后,至少有一个变更操作,才会snapshot
##对于此值的设置,需要谨慎,评估系统的变更操作密集程度
##可以通过“save “”来关闭snapshot功能
#save时间,以下分别表示更改了1个key时间隔900s进行持久化存储;更改了10个key300s进行存储;更改10000个key60s进行存储。
save 900 1
save 300 10
save 60 10000
##当snapshot时出现错误无法继续时,是否阻塞客户端“变更操作”,“错误”可能因为磁盘已满/磁盘故障/OS级别异常等
stop-writes-on-bgsave-error yes
##是否启用rdb文件压缩,默认为“yes”,压缩往往意味着“额外的cpu消耗”,同时也意味这较小的文件尺寸以及较短的网络传输时间
rdbcompression yes
2、客户端使用命令进行持久化save存储:
方式一
[root@redis-master src]# ./redis-cli -h 192.168.246.202 -p 6379 save #前台进行存储
OK
方式二
./redis-cli -h ip -p port bgsave #后台进行存储
注意:每次快照持久化都是将内存数据完整写入到磁盘一次,并不是增量的只同步新数据。如果数据量大的话,而且写操作比较多,必然会引起大量的磁盘io操作,可能会严重影响性能。
save方式:持久化前面的所有数据(rdb模式没开时,后续的数据不会进行备份)
3、AOF默认关闭--开启
[root@redis-master src]# cd ..
[root@redis-master redis]# vim redis.conf
修改如下: