Redis4.0.1安装以及主从复制详解

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: 0、何为RedisRedis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。

0、何为Redis

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。 Redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。

1、Redis 安装

1.1 安装前环境说明

使用的是CentOS 7 版本的Linux系统,
master ip 为10.211.55.3
slave ip 为10.211.55.4
虚拟机工具使用的是Parallels Desktop

1.2 下载Redis

Redis可以到官方网站上面进行下载:https://redis.io/download,现在最新的稳定版已经到4.0了。
这里使用的是redis-4.0.1.tar.gz

1.3 安装步骤

$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
$ tar xzf redis-4.0.1.tar.gz -C /usr/local/
$ cd /usr/local/redis-4.0.1
$ make & make test

make 可能出现的异常

make[1]: Leaving directory `/usr/local/redis-4.0.1/src'
make[1]: Entering directory `/usr/local/redis-4.0.1/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/redis-4.0.1/src'
make: *** [test] Error 2

解决方案

yum install -y tcl 

2、Redis 简单配置

所有配置修改都在此配置文件

/usr/local/redis-4.0.1/redis.conf

2.1 修改为守护进程的方式运行

Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程

    #daemonize no
    #修改为yes
     daemonize yes

2.2 绑定的主机地址

bind后面再添加主机的ip,后面主从复制 从Redis需要通过IP连接。

 bind 127.0.0.1 10.211.55.3

2.3 设置Redis 密码

这里密码设置为javen

# requirepass foobared
requirepass javen

2.4 设置Redis 端口号

默认端口为6379

port 6379

3、测试Redis

  • 启动
#默认配置文件/usr/local/redis-4.0.1/redis.conf
src/redis-server
#或者指定配置文件
src/redis-server redis.conf

后端启动

src/redis-server &
  • 客户端连接
src/redis-cli
# 如果有密码则
src/redis-cli -a Javen

测试Redis

  • 停止
#默认配置文件 /usr/local/redis-4.0.1/redis.conf 中的端口
src/redis-cli  shutdown
#指定端口
src/redis-cli -p 6666 shutdown

4、Redis 主从复制配置

Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面简单的进行一下配置。

修改slave的redis配置文件

  • master的redis配置文件只要设置好bind即可
  • 修改slave的redis配置文件
    slaveof 10.211.55.3 6379 (映射到主服务器上,6379是端口号)
    也可以动态设置:
    通过redis-cli 连接到从节点服务器,执行下面命令即可。
    slaveof 10.211.55.3 6379

  • 如果master设置了验证密码,还需配置masterauth。我这里的master设置了验证密码为javen,所以配置masterauth javen。

配置完之后启动slave的Redis服务,OK,主从配置完成(是不是很简单)。
下面测试一下:
在master和slave分别执行info命令,查看结果如下:

slave:

[root@centos-linux-2 redis-4.0.1]# src/redis-cli
127.0.0.1:6379> info

如果从Redis连接到了master则master_link_status:up否则为down。如果为down 请坚持master的Redis是否bind了主机的IP以及是否设置了密码。因为从Redis是远程连接必须设置bind,如果master的Redis设置了密码slave的Redis必须设置masterauth

master:

然后在master执行set age 18

在slave执行get age,看是否能得到18,如果能够得到值则说明配置成功。

下面把slave修改的参数贴出来:

daemonize yes
bind 127.0.0.1 10.211.55.4 
requirepass javen
port 6379
slaveof 10.211.55.3 6379
masterauth javen

5、Redis 远程连接

用法:redis-cli [OPTIONS] [cmd [arg [arg …]]]

-h <主机ip>,默认是127.0.0.1

-p <端口>,默认是6379

-a <密码>,如果redis加锁,需要传递密码

–help,显示帮助信息

redis-cli -h 10.211.55.4 -p 6379 -a javen

推荐阅读:
基于 CentOS Mysql 5.7.19 安装与主从同步配置详解
基于CentOS搭建 Git 服务
基于 CentOS 搭建 FTP 文件服务
10分钟搭建属于自己的ngork服务器,实现内网穿透
JDK开发环境搭建及环境变量配置
极速开发微信公众号

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2天前
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
2月前
|
存储 监控 负载均衡
redis 集群 (主从复制 哨兵模式 cluster)
redis 集群 (主从复制 哨兵模式 cluster)
|
21天前
|
NoSQL Java Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
|
2天前
|
缓存 NoSQL Linux
入职必会-开发环境搭建26-Redis下载和安装
Redis是一个开源的、内存中的数据结构存储系统,用作数据库、缓存、消息中间件。它提供了丰富的数据结构,包括字符串、哈希、列表、集合、有序集合、位图、HyperLogLog、地理空间索引和流。以下是 Redis 的一些主要特点和用途。
|
24天前
|
存储 消息中间件 缓存
apt安装Redis 7
【7月更文挑战第2天】
|
29天前
|
存储 NoSQL 关系型数据库
Redis系列学习文章分享---第一篇(Redis快速入门之初始Redis--NoSql+安装redis+客户端+常用命令)
Redis系列学习文章分享---第一篇(Redis快速入门之初始Redis--NoSql+安装redis+客户端+常用命令)
55 1
|
1月前
|
NoSQL Redis Windows
win10下Redis安装、启动教程
win10下Redis安装、启动教程
25 2
|
1月前
|
消息中间件 缓存 NoSQL
Redis单实例安装
Redis单实例安装
32 1
|
1月前
|
NoSQL Linux 网络安全
基于 centOS7 的 redis 安装
基于 centOS7 的 redis 安装
73 1
|
21天前
|
NoSQL Linux Redis
redis的安装和配置
redis的安装和配置
59 0