Linux安装Redis

一、环境

1.1 Linux  版本为 CentOS  7.7

   cat /etc/redhat-release

1.2 redis版本为 5.0.8

   官网: https://redis.io

二、下载

   mkdir redis  #创建一个目录

   cd redis 

   wget http://download.redis.io/releases/redis-5.0.8.tar.gz  #下载

   tar -zxvf redis-5.0.8.tar.gz  #解压

   cd redis-5.0.8   #进入解压目录

   make   #编译

   cd src 

   make install PREFIX=/usr/local/redis   #安装的位置

   cd /usr/local/redis/bin  #进入到安装目录

   ./redis-server   # redis启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便。

   mkdir /usr/local/redis/etc  # 创建一个用于存放redis的配置文件的目录

   cp /redis/redis-5.0.8/redis.conf /usr/local/redis/etc/   #将配置文件复制到安装路径

   vi /usr/local/redis/etc/redis.conf  #编辑 内容很长,ESC是进入命令模式,输入/daemonize 可以搜索,然后将 daemonize改为yes 就是设置为守护进程模式

 /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf  #全路径启动


三、配置

3.1 下载管理客户端工具

https://github.com/qishibo/AnotherRedisDesktopManager/releases/download/v1.3.4/Another.Redis.Desktop.Manager.1.3.4.exe

3.2 链接发现报错

   Redis Client On Error: Error: connect ECONNREFUSED 124.239.148.216:6379

   因为Redis默认设置的是只允许本地连接,所以要设置redis.conf配置文件中的以下三个位置

   bind 127.0.0.1注释掉,或者改为bind 0.0.0.0

   protected-mode 改为no 

   requirepass "password" 设置密码

   ps -ef|grep redis #查看当前进程
   kill 进程ID #结束进程
   ./redis-server /usr/local/redis/etc/redis.conf #重新启动

  3.3 设置开机启动

    在下载目录的utils目录下有一个 redis_init_script文件,就是官方写好的开机启动配置文件.

    将此脚本复制到/etc/init.d目录下,本例将启动脚本命名为redis
    cp /redis/redis-5.0.8/utils/redis_init_script /etc/init.d/redis  
   

主要就是这五个地方要修改一下

    chkconfig redis on   #设置为开机自启动服务器
    service redis start   #打开服务
    service redis stop   #关闭服务

四、持久化


appendonly  yes    (默认no,关闭)表示是否开启AOF持久化:
appendfilename “appendonly.aof”    AOF持久化配置文件的名称:
AOF持久化策略(默认每秒):
     appendfsync always (同步持久化,每次发生数据变更会被立即记录到磁盘,性能差但数据完整性比较好)
     appendfsync everysec (异步操作,每秒记录,如果一秒钟内宕机,有数据丢失)
     appendfsync no (将缓存回写的策略交给系统,linux 默认是30秒将缓冲区的数据回写硬盘的)
AOF的Rewrite(重写) :
     定义:AOF采用文件追加的方式持久化数据,所以文件会越来越大,为了避免这种情况发生,增加了重写机制
    当AOF文件的大小超过了配置所设置的阙值时,Redis就会启动AOF文件压缩,只保留可以恢复数据的最小指令集,可以使用命令bgrewriteaof
      触发机制:Redis会记录上次重写时的AOF文件大小,默认配置时当AOF文件大小是上次rewrite后大小的一倍且文件大于64M时触发
     auto-aof-rewrite-percentage 100 (一倍)
     auto-aof-rewrite-min-size 64mb

默认情况下redis安装目录会生成 appendonly.aof文件,如果没有则
执行以下两条命令:
redis-cli config set appendonly yes
redis-cli config set save “”(可选)
执行的第一条命令开启了 AOF 功能: Redis 会阻塞直到初始 AOF 文件创建完成为止, 之后 Redis 会继续处理命令请求, 并开始将写入命令追加到 AOF 文件末尾。
执行的第二条命令用于关闭 RDB 功能。 这一步是可选的, 如果你愿意的话, 也可以同时使用 RDB 和 AOF 这两种持久化功能。

持久化测试结果:

通过redis-cli SHUTDOWN这种方式停掉redis,这是一种安全的退出方式,redis会在退出的时候将内存中的数据立即生成一份完整的rdb快照。(service redis stop 实际就是调用这种方式是安全的)
通过kill -9杀死redis进程,这种方式会导致redis异常退出,从而导致内存中的数据没有到达save指定的检查点,进而丢失内存中的数据。(但是这种方式,我测试过了,不开启aof 然后rebbot 或 kill 结果数据都能保存,肯定是没有触发rdb模式的情况下,结果数据也不丢失,所以一般的使用应该是够的,没必要开启aof

五、systemctl方式开机启动

 vi /lib/systemd/system/redis.service   #创建启动脚本

[Unit]
Description=redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemctl enable redis  #加入开机启动

systemctl start redis  #启动

systemctl restart redis #重启

systemctl stop redis   #停止

systemctl status redis  #查看运行状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值