超详细ubuntu安装redis及使用

Posted sashaSloan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超详细ubuntu安装redis及使用相关的知识,希望对你有一定的参考价值。

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

以上是关于超详细ubuntu安装redis及使用的主要内容,如果未能解决你的问题,请参考以下文章

超简单超详细的redis安装教程

Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!

Redis安装教程(超详细)

超强超详细Redis入门教程

超强超详细Redis入门教程

redis超详细入门教程