redis几乎是现在微服务系统中必不可少的一个中间件,她本质上就是一个内存数据库,由于她的性能和易用性使得有很多场景的应用,如:缓存、消息队列、分布式锁等等。。
学习redis先安装一个redis,总共有四种安装方式:单机模式、主备模式、哨兵模式、集群模式(3.0之后提供)。
安装环境:一台Ubuntu虚拟机
一.单机模式安装
- 下载redis的源码包,解压缩,make编译。(需要确定linux中安装了gcc编译器,一般默认都有)
$ wget http://download.redis.io/releases/redis-5.0.3.tar.gz
$ tar xzf redis-5.0.3.tar.gz
$ cd redis-5.0.3
$ make
- 编译后在src目录中会多出一些可执行的文件,通过如下命令启动Redis:
$ src/redis-server
这样就启动了 - 重新起一个界面开启客户端去连接
$ src/redis-cli
- 这样最简单的一个redis就算安装好了,但是还需要配置一些东西让她更好用,需要修改一些redis.conf配置文件。
首先注释掉bind的ip,或者改成0.0.0.0,如果配置了ip就只有这个ip可以连接这个redis,我们等会需要用图形界面从windows连接,所以先让所有ip都可以访问。
这个protected-mode改成no,不需要保护模式“:
daemonize改成yes允许后台模式:
修改完之后重新启动一下服务:
$ src/redis-server redis.conf
这次我们使用windows的图形界面去连接:RedisDesktopManager,在网上下载安装即可:
这样单机模式的redis就彻底安装好了!!!
二.主从模式安装
由于只有一台虚拟机,我们使用不同的端口号来当多多台机器。
6380:主,6381:从。
- 拷贝之前单机模式的文件,分别到6380,6381文件夹
- 分别修改配置文件
6380主节点:
6381从节点:
- 启动主从节点
- 客户端登录验证
主节点可以读写
从节点可以读取主节点插入的数据,但是自己不可以插入数据
- 主备切换
当主节点出现问题的时候,需要手动的将从节点切换到主节点,这样就可以插入数据了。
三.哨兵模式安装
Sentinel是Redis的高可用性(HA)解决方案,由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进行下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。
6390:主,6391/6392:备,6395/6396/6397:sentinel
- 拷贝单机模式文件,并修改配置文件
redis_6390.conf:
redis_6391.conf、redis_6392.conf:
- 分别启动每个节点,这里编写了个脚本启动:
#!/bin/bash
#启动主从节点
src/redis-server redis_6390.conf
src/redis-server redis_6391.conf
src/redis-server redis_6392.conf
#启动sentinel节点
src/redis-server sentinel_6395.conf --sentinel
src/redis-server sentinel_6396.conf --sentinel
src/redis-server sentinel_6397.conf --sentinel
3. 测试sentinel
连接主节点,查看信息:
连接从节点,查看信息: