Redis分布式集群实战(3)——Redis的基础介绍与安装使用步骤(集群方案一:master/slave主从方案(配置主从复制服务))

1.redis是什么?

基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis是一个key-value存储系统。
它支持存储的value类型:string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型)。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的,
与memcached一样,数据都是缓存在内存中。。
redis会周期性的把更新的数据写入磁盘(rdb)或者把修改操作写入追加的记录文件(aof),
并且在此基础上实现了master-slave(主从)同步。

2.为什么要用redis?

(1)速度快
因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)。
(2)支持丰富数据类型
支持string,list,set,sorted set,hash。
(3)支持事务,操作都是原子性
所谓的原子性就是对数据的更改要么全部执行,要么全部不执行。
(4)丰富的特性
可用于缓存,消息,按key设置过期时间,过期后将会自动删除。

3.memcache与redis的区别都有哪些?

(1)存储方式
Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。
Redis有部份存在硬盘上,这样能保证数据的持久性。
(2)数据支持类型
Memcache对数据类型支持相对简单。
Redis有复杂的数据类型。
(3)使用底层模型不同
它们之间底层实现方式以及与客户端之间通信的应用协议不一样。
Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
(4)value大小
redis最大可以达到1GB,而memcache只有1MB

4.redis适合的场景

(1)会话缓存(Session Cache)
最常用的一种使用Redis的情景是会话缓存(session cache)。
用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。
(2)全页缓存(FPC)
Redis还提供很简便的FPC平台。即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降。
(3)队列
Reids在内存存储引擎领域的一大优点是提供 list 和 set 操作,这使得Redis能作为一个很好的消息队列平台来使用。
(4)排行榜/计数器
Redis在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(Sorted Set)。
(5)发布/订阅

5.Linux中安装redis的具体过程如下:

(1)搭建实验环境

三台rhel7.3的虚拟机+一台物理机
之所以开这么多台,是为了后面的集群使用

主机信息主机功能
server1(172.25.2.1)redis主服务器
server2(172.25.2.2)redis从服务器1
server3(172.25.2.3)redis从服务器2
真机(172.25.2.250)下载资源和共享yum源

在真机中创建三个快照,为了确保实验环境干干净净
在这里插入图片描述
在这里插入图片描述
用真机连接三个虚拟机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到这里基本的实验环境已经搭建完毕,接下来我们部署redis
每个节点配置yum、安装gcc(如果已安装,请略过)

(2)从真机给redis的三个节点都传送redis的安装包
获取redis包(目前使用5.0以上版本,为了后面的redis cluster)
在这里插入图片描述
(3)在server1(主服务器)上面进行编译安装redis,进行基本的配置
解压,进入解压后的目录
在这里插入图片描述
在这里插入图片描述
开启编译安装
在这里插入图片描述
进行编译与安装(编译成功后会出现新的redis脚本,eg:redis-cli),进入utils/下面,开启redis
在这里插入图片描述
查看进程
在这里插入图片描述
发现此时仅仅监听本机
在这里插入图片描述
修改redis的配置文件
在这里插入图片描述
改为监听所有
在这里插入图片描述
重新启动redis,再次查看
在这里插入图片描述
注意:第一次使用脚本方式启动redis之后才可以使用systemd的方式来控制redis服务
在这里插入图片描述使用redis-cli (redis命令行工具)进行测试
发现可以写入数据,查看数据,删除数据
注意:这里的数据是key-value形式,如果是同一个key的value,会进行覆盖

在这里插入图片描述
(4)在server2(从服务器)上面进行编译安装redis,进行基本的配置
解压,进入解压目录
在这里插入图片描述
在这里插入图片描述
开始编译和安装
在这里插入图片描述
开启redis
在这里插入图片描述
编辑配置文件,设置server2是从服务器,它的主服务器是server1
在这里插入图片描述
在这里插入图片描述
注意redis的监听端口是6379
在这里插入图片描述
重启服务
在这里插入图片描述
查看端口
在这里插入图片描述
(5)测试
在server1上写入数据并且查看
在这里插入图片描述
在server2上查看数据,可以看出实现了基本的主从复制,但是不能删除,没有权限
在这里插入图片描述
总结:也可以看出redis的主从同步比mysql简单的多

6.什么是主从复制?

redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),
主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,
并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。
从数据库的数据是以自己的主数据库为标准的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值