Redis的安装及创立节点、部署群集

作者 : 开心源码 本文共1989个字,预计阅读时间需要5分钟 发布时间: 2022-05-12 共60人阅读

Redis简介

Redis是一个开源的用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其余数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的笼统。

Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单, 同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,由于他们并不需要进行随机访问。

Redis定义

redis是一个key-value存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把升级的数据写入磁盘或者者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作使用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等用户端,用很方便。

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其余从服务器的主服务器。同步对读取操作的可扩展性和数据冗余很有帮助。

Redis存储

redis用了两种文件格式:全量数据和增量请求。

全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载;

增量请求文件则是把内存中的数据序列化为操作请求,使用于读取文件进行replay得到数据,序列化的操作包括SET、RPUSH、SADD、ZADD。

Redis群集

Redis 是一个开源的 key-value 存储系统,因为出众的性能,大部分互联网企业都使用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,尽管支持主从模式、哨兵模式部署来处理单点故障,但是现在互联网企业动辄大几百G的数据,可完全是没法满足业务的需求,所以,Redis 在 3.0 版本以后就推出了集群模式。

Redis 集群采使用了P2P的模式,完全去中心化。Redis 把所有的 Key 分成了 16384 个 slot,每个 Redis 实例负责其中一部分 slot 。集群中的所有信息(节点、端口、slot等),都通过节点之间定期的数据交换而升级。

Redis 用户端可以在任意一个 Redis 实例发出请求,假如所需数据不在该实例中,通过重定向命令引导用户端访问所需的实例。

下面说一下 Redis 集群搭建规划,因为集群至少需要6个节点(3主3从模式), 我本地也起不了那么多虚拟机 , 计划是在一台机器上模拟一个集群, 这和生产环境的集群搭建没本质区别。

Redis安装


创立多节点

创立实例目录

复制执行脚本

复制一个新 Redis 实例

\cp -rf 命令是不用别名来复制

分别修改6380 、6381、6382、6383、6384节点配置文件

开启所有节点服务(&是后端运行)

登录随意一个节点验证 确认节点服务可以正常登陆

安装群集需要的 ruby环境

因为 Redis 集群需要用 ruby 命令,所以我们需要安装 ruby 和相关接口。

安装rubygem redis依赖:

安装 redis-trib.rb:

安装完成ruby环境 执行下面命令确认能否正常

创立群集

简单解释一下这个命令:调使用 ruby 命令来进行创立集群,–replicas 1 表示主从复制比例为 1:1,即一个主节点对应一个从节点;而后,默认给我们分配好了每个主节点和对应从节点服务,以及 solt 的大小,由于在 Redis 集群中有且仅有 16383 个 solt ,默认情况会给我们平均分配,当然你可以指定,后续的增减节点也可以重新分配。

#?/usr/local/redis-cluster/bin/redis-trib.rb create –replicas 1 192.168.86.130:6379 192.168.86.130:6380 192.168.86.130:6381 192.168.86.130:6382 192.168.86.130:6383 192.168.86.130:6384

(yes)

验证

通过用户端命令连接上,通过集群命令看一下状态和节点信息等。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Redis的安装及创立节点、部署群集

发表回复