redis 小白教程

一、手动下载安装

1.官网下载安装包 redis-5.0.7.tar.gz
2.在/opt下创建redis文件夹 并上传redis-5.0.7.tar.gz
3.解压缩
4.执行make命令

  • 如果在执行make命令时报错gcc未找到
    在这里插入图片描述
  • 用root用户执行命令
    yum -y install gcc automake autoconf libtool make
  • 重新解压缩后执行make命令
  1. 我的解压缩之后在 /opt/redis/redis-5.0.7 文件夹下
    在这里插入图片描述
    进入 /opt/redis/redis-5.0.7/src文件夹
    在这里插入图片描述
    6.执行命令./redis-server & 启动redis
    在这里插入图片描述
    7.执行命令 ./redis-cli 启动redis客户端并连接上本机redis
    在这里插入图片描述
    8.这时间远程telnet redis服务的端口号,你会发现并不通
    在这里插入图片描述
    9.这是因为redis自身的保护措施,默认只允许本机连接
    进入redis目录,我的是/opt/redis/redis-5.0.7
    在这里插入图片描述
    10.vi ./redis.conf
    将 bind 127.0.0.1 注释 #bind 127.0.0.1

将protected-mode yes 改成 protected-mode no

保存,并重新启动redis服务
在这里插入图片描述
11.再次启动redis的时候一定要带着配置文件启动,否则上一步的修改并不起效
在这里插入图片描述
12.再次远程telnet 6379端口号发现是通的。注意此时的linux防火墙6379端口号首先是开放的。

配置redis 用 systemctl 进程启动

1.在/lib/systemd/system目录下创建一个脚本文件redis.service,脚本内容如下
其中/opt/redis/redis-5.0.7是我redis的安装目录

[Unit]
Description=Redis
After=network.target

[Service]
ExecStart=/opt/redis/redis-5.0.7/src/redis-server  /opt/redis/redis-5.0.7/redis.conf --daemonize no
ExecStop=/opt/redis/redis-5.0.7/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表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

2.刷新配置
刚刚配置的服务需要让systemctl能识别,就必须刷新配置

执行命令:
systemctl daemon-reload

3.启动redis

systemctl start redis

4.关闭redis

systemctl stop redis

5.重启redis

systemctl restart redis

配置redis开机启动

在redis用systemctl能够启动、停止的前提下,将redis服务加入开机启动

  • redis服务加入开机启动:
执行命令:
systemctl enable redis
  • redis服务禁止开机启动
systemctl disable redis

redis 持久化

reids的持久化方式有两种
1.rdb方式(默认开启)
1分钟请求一万次,或5分钟请求10次 ,或15分钟请求一次修改 都会触发rdb方式持久化
持久化目录默认在 redis安装目录下的 dump.rdb文件。当redis关闭再次启动时会自动从dump.rdb文件中恢复原有内容到内存。
2.AOF方式(默认不开启)
所以它采用日志的形式来记录每个写操作,并追加到文件中。
异步记录redis的每一次写操作,将操作记录追加到文件中

redis事务

redis是部分支付事务
redis事务本质上上一组命令的集合。redis会顺序的执行队列中的命令。期间不允许其他命令插入。
redis事务,不能保证事务的原子性。且没有回滚
在这里插入图片描述
1.如果出现命令性错误(类似于编译器错误),则事务中的所有命令都不会被执行
在这里插入图片描述
2.若在事务队列中存在语法性错误(类似于java的1/0的运行时异常),则执行EXEC命令时,其他正确命令会被执行,错误命令抛出异常。这里也就说明redis不保证事务的原子性
在这里插入图片描述

redis主从复制

1.从机可以复制主机,所有的东西,包括在主从关系建立之前的所有东西。主从关系建立之后的第一次复制是全量复制,后面是增量复制
2.只有主机上可以write写入值,从机不可以。
1.配置哨兵模式,当主机挂了之后会重新选举主机。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值