redis简介与部署使用

redis简介与部署使用

redis是一款可基于内存也可持久化存储的非关系型数据库缓存服务。
官网:redis.io

redis优点:

  • 丰富的数据结构,list,set,hash
  • 支持磁盘持久化存储
  • 支持事物
  • 支持主从

redis缓存的两种方式:

  • 页面缓存
  • 数据缓存

redis部署流程

创建一个工作目录,例:/data/application,并下载解压redis安装包到该目录下

[root@redis-1 ~] mkdir -p /data/application
[root@redis-1 ~] wget http://download.redis.io/releases/redis-4.0.9.tar.gz
[root@redis-1 ~] tar xf redis-4.0.9.tar.gz -C /data/application
[root@redis-1 ~] cd /data/application
[root@redis-1 application] mv redis-4.0.9 redis

安装编译工具:gcc,make并在redis目录下编译

[root@redis-1 redis] yum -y install gcc make
[root@redis-1 redis] make

修改配置文件,建议重写
配置文件一定不能有多余的空格,前后都不能有,否则端口起不来

[root@redis-1 redis]# cat redis.conf
bind 0.0.0.0      #监听的主机ip,若只监听内网则写自己的ip
daemonize yes    #开启后台模式
timeout 300    #连接超时时间
port 6379   #端口号
dir /data/application/redis/data  #本地数据库存放持久化数据的目录,需要自己创建
pidfile /var/run/redis_6379.pid   #pidfile存储路径(不用自己创建,会自动生成)
logfile /var/log/redis.log     #log日志存放路径(不用自己创建,会自动生成)
appendonly yes
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-min-size 64mb
auto-aof-rewrite-percentage 100
protected-mode no

创建存放本地持久化数据的存放路径(与配置文件中对应)

[root@redis-1 redis] mkdir -p /data/application/redis/data

配置redis为systemctl启动

[root@redis-1 ~] vi /lib/systemd/system/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

参数详解:
• [Unit] 表示这是基础信息 
• Description 是描述
• After 是在那个服务后面启动,一般是网络服务启动后启动

• [Service] 表示这里是服务信息 
• ExecStart 是启动服务的命令
• ExecStop 是停止服务的指令

• [Install] 表示这是是安装相关信息 
• WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

启动服务

[root@redis-1 ~] systemctl daemon-reload
[root@redis-1 ~] systemctl start redis.service
查看端口6379状态

登陆redis,测试与使用

[root@redis-1 ~] /data/application/redis/src/redis-cli -h 192.168.178.135 -p 6379
192.168.246.202:6379> ping     ---测试redis是否可以用
PONG                          ---返回PONE即为连通
192.168.246.202:6379> set name yiki    #设置key--name,并设置值
OK
192.168.246.202:6379> get name    #获取到key
"yiki"
*-h 后面是要连接的redis服务器的ip,单机就写自己的ip

redis数据持久化

       上一篇文章中介绍的memcached为了提高提供服务的效率,将数据都存放在内存中,所以重启后数据就没有了,同样作为缓存服务器的redis,不仅可以把数据存在内存中提高速率,还可以把数据持久化地存到磁盘中,运用了rdb和aof两种方法,默认开始开启使用rdb,aof则需要手动开启,若同时开启rdb和aof,则有限运用aof方法。

数据持久化的两种方式
  • RDB:redis database,在固定的时间点,将当时redis存储的数据生成快照保存到磁盘。类似于mysql的完整备份。

  • AOF:将redis所有执行过的写指令都备份下来,在下次重启redis时,把所有的写指令在执行一遍(相当于逻辑备份)。
    rdb默认开启,aof需要手动开启,若同时开启两种模式,重启后会优先使用aof。

  • RDB特点:

    • 周期性。
    • 不影响数据写入:RDB启用子进程来备份数据,同时进行,等到备份完才替换旧数据。
    • 高效,一次性还原所有的数据。
    • 完整性差:故障点到上一次备份之间数据丢失。
  • AOF特点:

    • 实时性
    • 由于实时性,所以完整性较好
    • 体积大

开启RDB

在配置文件redis.conf中添加以下内容

dbfilename dump.rdb    #开启rdb缓存(原配置文件默认开启)
dir /data/application/redis/data   #本地数据库数据持久化的存放目录,需要自己创建
save 900 1    #900秒后,至少有一个变更操作,才会snapshot
save 300 10    #save的设置需要谨慎评估
save 60 10000
stop-writes-on-bgsave-error yes   #当快照发生错误时,阻塞客户端对数据的修改操作
rdbcompression yes   #是否启用rdb文件压缩

客户端使用命令进行持久化save存储

[root@redis-1 ~] /data/application/redis/src/redis-cli -h [ip] -p 6379 save

开启AOF

在配置文件redis.service中添加以下内容:

appendonly yes   #开启AOF功能
appendfilename "appendonly.aof"    #指定aof文件名称
appendfsync everysec    
no-appendfsync-on-rewrite no  #在aof-rewrite期间,appendfsync不开启暂缓文件同步
auto-aof-rewrite-min-size 64mb    #触发aof rewrite的最小文件尺寸 
auto-aof-rewrite-percentage 100  #当Aof log增长超过指定比例时,重写log file, 设置为0表示不自动重写Aof 日志
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值