超详细ubuntu安装redis及使用

ubuntu安装redis及使用

有些代码或者步骤可能有些区别和不妥,欢迎指正
参考博客:ubuntu 安装redis

redis安装

我安装的redis版本为5.0.14.1
虚拟机有网络应该是可以使用命令下载的
redis下载
首先在windows下将安装包下载下来,再传输到虚拟机中。
我使用的是xftp进行文件传输和连接虚拟机
先使用ifconfig命令查看本机ip
在这里插入图片描述

使用xftp建立连接
主机填写查到的ip地址,用户名密码填写你的。
在这里插入图片描述连接建立后将下载的文件拖拽过去即可:
在这里插入图片描述一直连接不上的可以看看虚拟机中是否配置了ssh服务,未配置的需要下载ssh服务

下载:
sudo apt install openssh-server
开启:
sudo service sshd start

将下载好的redis压缩包解压缩
在这里插入图片描述

我将其移动到usr/local下面(mv指令显示权限不够,需要root权限)
在这里插入图片描述

进入redis文件夹,安装redis
在这里插入图片描述初始的redis下不包含redis.server和redis.cli等文件,需要安装后才会有,执行make命令
注意
在这里没有make工具的需要下载,在更新时遇到类似

: 仓库 “https://mirrors.tuna.tsinghua.edu.cn/ubuntu impish-backports Release” 没有 Release 文件。

问题的需要更换软件源,可参考下面的博客

仓库 “https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial Release” 没有 Release 文件
下载make工具
在这里插入图片描述继续操作:
在这里插入图片描述在这里插入图片描述

再在redis的src目录下看见redis-cli和server即成功
在这里插入图片描述

修改配置文件redis.conf
打开文件:

gedit redis.conf

修改密码
在这里插入图片描述

修改bind,在末尾追加本机的ip地址(允许其他服务器连接)
在这里插入图片描述

启动redis服务
src目录下,执行启动命令(指定配置文件启动redis)
在这里插入图片描述

可以通过修改redis.conf中的daemonize,设置为yes,则切换启动方式为后台启动

在这里插入图片描述

连接redis客户端
![在这里插入图片描述](https://img-blog.csdnimg.cn/044047193a874951a31bb2ecd0e3bede.png

redis主从复制

搭建一主多从
配置一主两从:
桌面新建一个myredis文件夹,复制redis.conf到文件夹
在这里插入图片描述
创建三个配置文件redis6378.conf,redis6380.conf,redis6381.conf,并在文件中写入相应内容(通过include引入原始配置)
在这里插入图片描述

同理创建其他两个文件:
只不过要加上

masterauth 123456

在这里插入图片描述

启动三台服务器:

在这里插入图片描述
使用info replication可以打印主从复制的相关信息

配置从机
slaveof <主机ip>
如下可以在命令行设置(从服务器挂掉重启后会重新变为单独的主机)
在这里插入图片描述
也可以在conf中直接设置(这样在从服务器挂掉重启后,仍旧是从服务器)
在这里插入图片描述

可以查看是否配置成功:
在这里插入图片描述
测试:
在这里插入图片描述

注意

最开始我使用6379为主机,但是一直连接不上从库,原因是redis的原始默认端口为6379,而我自己又配置了一个6379的文件,之后我使用了6378作为主机。

主从复制原理

1、当从连接上主服务器之后,从服务器向主服务发送进行数据同步消息
2、主服务器接到从服务器发送过来同步消息,把主服务器数据进行持久化,rdb文件,把rdb文件发送从服务器,从服务器拿到rdb进行读取。
3、每次主服务器进行写操作之后,和从服务器进行数据同步
参考链接:
Redis 的主从同步,及两种高可用方式

redis哨兵模式

能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。

实现

参考博客
1、在myredis文件夹下创建sentinel.conf文件写入如下语句

port 26378
sentinel monitor mymaster 127.0.0.1 6378 1
sentinel auth-pass mymaster 123456

其中mymaster为监控对象起的服务器名称,为至少有多少个哨兵同意迁移的数
因为我的主服务器不是默认的6379所以要进行port设置。
如果设置了redis密码就必须设置上述第三行,否则哨兵设置不生效,报错:

Next failover delay: I will not start a failover before

2、启动哨兵
在这里插入图片描述

没有启动成功的可能需要下面的下载命令。

sudo apt install redis-sentinel

这时把主服务器shutdown
在这里插入图片描述
哨兵监听显示会尝试连接断掉的服务器,连接失败后,选举6380服务器为新Master
在这里插入图片描述可以看到6380成为了新的主服务器
在这里插入图片描述
重启6378服务器

在这里插入图片描述
可以看到它变为了6380的从服务器
在这里插入图片描述

在Linux上,如果开了redis的守护进程,kill -9和redis-cli shutdown 命令是无法杀掉 redis 进程的 ,杀掉就会重新启动一个新的进程
可以使用这个命令:

/etc/init.d/redis-server stop
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值