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)

验证

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

欢迎工作一到五年的Java工程师朋友们加入Java架构开发:744677563

本群提供免费的学习指导 架构资料 以及免费的解答

不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导

Redis的安装及创建节点、部署群集相关推荐

  1. 实验 详解K8S多节点部署群集

    目录 一 环境部署 二 实验操作步骤 2.1 master02部署 2.2 nginx负载均衡集群部署 一 环境部署 主机名 IP地址 部署的服务 master01 20.0.0.101 apiser ...

  2. redis 槽点重新分配 集群_Redis群集部署详解

    博文大纲: 一.Redis群集相关概念 二.部署Redis群集 1.部署环境 2.配置Redis实例 3.配置node06主机的多Redis实例 4.主机node01安装配置ruby的运行环境,便于管 ...

  3. Redis进阶-5.x 单节点 及Redis Cluster 3主3从集群部署

    文章目录 Redis 下载地址 Redis 5.x 单节点 编译安装 Redis 启停 Redis Cluster 4.x VS Redis Cluster 5.x 演进之路 ( Master/Sla ...

  4. rancher单节点离线安装_Rancher花里胡哨的部署方式

    一.Rancher简介 Rancher 最初是为了与多个协调者合作而构建的.随着 Kubernetes 在市场上的兴起,Rancher 2.x 专门部署和管理在任何提供商上随时随地运行的 Kubern ...

  5. Redis的安装配置及简单集群部署

    最近针对中铁一局项目,跟事业部讨论之后需要我们的KF平台能够接入一些开源的数据库,于是这两天研究了一下Redis的原理. 1. Redis的数据存储原理及简述 1.1Redis简述 Redis是一个基 ...

  6. 【Redis】CentOS7下redis的安装+supervisor管理+允许远程访问+测试部署效果

    一.redis的安装 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz 第二步:解压压缩包 tar -z ...

  7. 使用Kubeadm创建k8s集群之节点部署(三十二)

    前言 由于上次忘开申明原创,特再发一次. 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜 ...

  8. Redis Sentinel安装与部署,实现redis的高可用

    Redis Sentinel安装与部署,实现redis的高可用 原文:Redis Sentinel安装与部署,实现redis的高可用 前言 对于生产环境,高可用是避免不了要面对的问题,无论什么环境.服 ...

  9. Linux下Redis的安装和部署

    一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...

最新文章

  1. opencv源码解析之(6):hog源码分析
  2. TCP建立连接与释放连接
  3. python常用操作符_Python--3常用操作符
  4. jeesite导出Excel Minimum column number is 0
  5. linux如何修改用户标识符,linux 修改文件标识符
  6. 潍坊理工的计算机专业怎么样,潍坊理工学院教育学专业怎么样
  7. 沪江日语电台首度在线直播后续花絮(附直播片段)
  8. 华为正加大全球招聘 包括芯片工程师、软件开发员和AI研究员
  9. php发送http put/patch/delete请求
  10. 第十六章:springboot 整合logback日志
  11. Android应用程序组件Content Provider在应用程序之间共享数据的原理分析
  12. WebLogic简单的备份和恢复
  13. 使用LINQ to SQL更新数据库(中):几种解决方案
  14. 项目:jSon和Ajax登录功能
  15. 经纬度度分秒转换小数.sql[原创]
  16. 内定抽奖小程序_Excel制作抽奖小程序,单人、多人抽奖只要三步就可实现
  17. centos7 搭建三主三从 redis5.0集群
  18. 如何用QT做串口调试助手Qseriaport类的使用
  19. oracle数据库在mybatis中的数值类型(NUMBER型)
  20. macOS Big Sur 11.3中添加了Hello新的屏幕保护程序

热门文章

  1. 加拿大工程院院士于非:互联—— 从质量、能源、信息到智能
  2. 警方建立了一个人工智能来预测暴力犯罪,它有严重缺陷
  3. 观点|重磅出炉!29页《业内观点:机器人行业的未来》
  4. 揭秘仿人机器人背后的技术秘密 | 优必选研究院技术专家刘益彰【附PPT】
  5. 腾飞资本任溶 :互联网大脑,新的天方夜谭?—评《崛起的超级智能》
  6. 机器人“快递小哥”上岗了!京东配送机器人编队长沙亮相
  7. 展望:共融机器人的基础理论与关键技术
  8. 低调的苹果罕见发表论文,揭开自动驾驶汽车技术的冰山一角
  9. 苹果损失超 1000 万美元,前员工被控收回扣、盗窃、欺诈!
  10. 在内存只有 24KB 的电脑上写操作系统,是怎样的体验?