redis分布式

redis集群

我只是一个虾纸丫 提交于 2020-01-17 01:07:47
redis集群 什么是集群? 集群就是多个服务器集中再一起 ,去处理同一个业务 集群和分布式概念 分布式是指将不同的业务分布在不同的地方,多个服务器去完成不同的业务功能 集群指的是将多台服务器集中在一起,实现同一业务 集群的好处-------- 解决 高并发 大数据的问题 集群的特点 (1) 扩展性 --可以动态的去扩展的服务器 (2) 高可用 --> 具备容错的功能 (错误恢复) (3) 负载均衡 -->把请求分配到不同的服务器里面 Redis集群方案 方案一 主从复制 优点: 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离 缺点:不具备自动容错和恢复功能(keepalive) 获取 手动重启 扩展服务器比较麻烦 方案二: 哨兵模式 Redis 2.8中提供了哨兵工具来实现自动化的系统监控和故障恢复功能 哨兵的作用就是监控Redis系统的运行状况。它的功能包括以下两个。 (1)监控主服务器和从服务器是否正常运行。 (2)主服务器出现故障时自动将从服务器转换为主服务器 优点: 主从可以自动切换,系统更健壮,可用性更高 。 缺点: Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂 方案3 Redis-Cluster 集群 Redis-Cluster 采用无中心结构 好处:可以完成分布式存储问题,解决容量问题 redis集群搭建步骤

redis集群笔记

允我心安 提交于 2020-01-17 00:08:04
1 什么是集群(理解) 多个服务器集中再一起 ,去处理同一个业务 集群和分布式概念(理解) 2 为什么需要集群 ,集群有什么好处?(理解) 解决 高并发 大数据的问题 3 集群的特点(理解) (1) 扩展性 --可以动态的去扩展的服务器 (2) 高可用 --> 具备容错的功能 (错误恢复) (3) 负载均衡 -->把请求 分配到不同的服务器里面 4 面试题 :集群和分布式区别?(理解) (1)相同点 ​ 解决高并发 和 大数据的问题 (2)不同点 ​ 集群 是 多个服务去实现同一个功能 ​ 分布式 不同的服务器实现不同的功能 5 如果要做集群 应该怎么做? 方案一 主从复制 好不好? 优点: 完成主从复制 , 缺点:不能完成容错或者恢复的功能(keepalive) 获取 手动重启 ​ 扩展服务器比较麻烦 方案二: 哨兵模式 Redis 2.8中提供了哨兵工具来 实现自动化的系统监控和故障恢复功能 。 好处:完成自动的主从切换 缺点:Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂 方案三: Redis-Cluster (搭建) 好处:可以完成分布式存储问题,解决容量问题 Redis-Cluster 采用无中心结构 6 redis集群搭建步骤(了解) (1) 拷贝6份 redis文件 ​ 修改 端口 为 6379 , 6380,6381,6382,6383

readis和es

爷,独闯天下 提交于 2020-01-16 20:52:46
readis集群 面试题 :集群和分布式区别?(理解) (1)相同点 解决高并发 和 大数据的问题 (2)不同点 集群 是 多个服务去实现同一个功能 分布式 不同的服务器实现不同的功能 1 什么是集群(理解) 多个服务器集中再一起 ,去处理同一个业务 集群和分布式概念(理解) 2 为什么需要集群 ,集群有什么好处?(理解) 解决 高并发 大数据的问题 3 集群的特点(理解) (1) 扩展性 --可以动态的去扩展的服务器 (2) 高可用 --> 具备容错的功能 (错误恢复) (3) 负载均衡 -->把请求 分配到不同的服务器里面 4 面试题 :集群和分布式区别?(理解) (1)相同点 解决高并发 和 大数据的问题 (2)不同点 集群 是 多个服务去实现同一个功能 分布式 不同的服务器实现不同的功能 5 如果要做集群 应该怎么做? 方案一 主从复制 好不好? 优点: 完成主从复制 , 缺点:不能完成容错或者恢复的功能(keepalive) 获取 手动重启 扩展服务器比较麻烦 方案二: 哨兵模式 Redis 2.8中提供了哨兵工具来 实现自动化的系统监控和故障恢复功能 。 好处:完成自动的主从切换 缺点:Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂 方案三: Redis-Cluster (搭建) 好处:可以完成分布式存储问题,解决容量问题 Redis

celery --分布式任务队列

一曲冷凌霜 提交于 2020-01-16 08:51:17
celery --分布式任务队列 一、介绍 celery是一个基于python开发的分布式异步消息任务队列,用于处理大量消息,同时为操作提供维护此类系统所需的工具。 它是一个任务队列,专注于实时处理,同时还支持任务调度。如果你的业务场景中需要用到异步任务,就可以考虑使用celery 二、实例场景 1、你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回,而是给你返回 一个任务ID,你过一段时间只需要拿着这个任务id就可以拿到任务执行结果, 在任务执行ing进行时,你可以继续做其它的事情。 2、你想做一个定时任务,比如每天检测一下你们所有客户的资料,如果发现今天 是客户的生日,就给他发个短信祝福 三、优点 1、简单:一但熟悉了celery的工作流程后,配置和使用还是比较简单的 2、高可用:当任务执行失败或执行过程中发生连接中断,celery 会自动尝试重新执行任务 3、快速:一个单进程的celery每分钟可处理上百万个任务 4、灵活:几乎celery的各个组件都可以被扩展及自定制 四、入门 celery 需要一个解决方案来发送和接受消息,通常,这是以称为消息代理的单独服务的形式出现的 有以下几种解决方案,包括: 一:RabbitMQ(消息队列,一种程序之间的通信方式) rabbitmq 功能齐全,稳定,耐用且易于安装。它是生产环境的绝佳选择。

redis持久化和常见故障

陌路散爱 提交于 2020-01-16 02:07:39
https://segmentfault.com/a/1190000004135982 redis 主从复制 Redis主从复制的原理 当建立主从关系时,slave配置slaveof <master_host> <master_port> 。slave服务器会向主服务器发送一个sync命令。master接受并fork一个进程来执行BGSAVE命令。该命令生成一个RDB文件并且全量发送给slave服务器,slave服务器接收并载入RDB文件,同时,主服务器将缓冲区的命令以增量的方式发送给从服务器,最终使从服务器的数据状态和主服务器保持一致。 RDB的工作原理 当redis生成dump.rdb文件时,工作过程如下 redis主进程fork一个子进程 fork出来的子进程将内存的数据集dump到临时的RDB中 当子进程对临时的RDB文件写入完毕,redis用新的RDB文件代替旧的RDB文件 AOF的工作原理 AOF :append only file。每当Redis执行一个改变数据集的命令时,这个命令都会被追加到AOF文件的末尾。当redis重新启动时,程序可以通过AOF文件恢复数据 持久化文件监控 Redis 监控最直接的方法当然就是使用系统提供的 info 命令来做了,只需要执行下面一条命令,就能获得 Redis 系统的状态报告。 redis-cli info RDB文件状态监控

Redis

大兔子大兔子 提交于 2020-01-16 01:56:46
一、NOSQL redis是一款高性能的NOSQL系列的非关系型数据库 缓存: 缓存的目的,主要是解决低速IO和高速缓存(CPU高速缓存)之间的差异 使用缓存的原则:二八原则:20%的热点数据放入缓存中,80%的数据放入mysql数据中 1.1 什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 NOSQL和关系型数据库比较 优点 1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比 关系型数据库价格便宜。 2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及 nosql数据库。 3)存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。 4)扩展性

.Net Core使用分布式缓存Redis:Lua脚本

时光怂恿深爱的人放手 提交于 2020-01-16 00:09:49
一、前言   运行环境window,redis版本3.2.1。此处暂不对Lua进行详细讲解,只从Redis的方面讲解。 二、Redis的Lua脚本   在Redis的2.6版本推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行,在Lua脚本中也可以调用大部分的Redis命令。使用脚本有以下三个好处:   (1) 减少网络开销:有些时候需要多次请求Redis获取处理数据,而使用脚本功能就可以只使用一次请求完成相同操作,减少了网络往返时延。   (2) 原子操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。也就是说在编写脚本的过程中无须担心会出现竞态条件,也就是无须使用事务。事务可以完成的所有功能,都可以用脚本来完成。   (3) 复用:客户端发送的脚本会永久存储在Redis中,这就意味着其他客户端(可以是其他语言开发的项目)可以复用这一脚本而不需要使用代码完成同样的逻辑。 三、Redis调用Lua    1、EVAL命令   编写完脚本后最重要的就是在程序中执行脚本。Redis提供了EVAL命令可以使开发者像调用其他Redis内置命令一样调用脚本。EVAL的命令格式如下: 127.0.0.1:6379> eval script numkeys key [key ...] arg [arg ...]   script:脚本内容。numkeys

App后台开发运维——架构设计

六眼飞鱼酱① 提交于 2020-01-15 00:06:05
QQ 1285575001 Wechat M010527 技术交流 QQ群599020441 纪年科技aming 1.设计app架构 1.梳理app业务流程 2.整理业务流程可能遇到的问题 3.根据问题,探讨可执行的解决方案 4. app后台 初步架构 :3中所有技术进行有机融合 api编写: 1.api的作用(功能) 2.api需要输入的参数 3.api返回的数据 2.服务器选择 1.传统的IDC 在传统的IDC,要加cpu或内存,流程如下:   1.和客户经理商商谈所需硬件的价格   2.汇款过去,等IDC的财务确认   3.确认后,等待IDC安排工作人员升级硬件   这个流程走一次,最少也要1至2天。延迟了1至2天升级硬件,怎么保证可以快速应付爆发的业务 2.云服务器 升级硬件: 1.在用户后台选择需要的硬件配置   2.通过网络支付   3.重启服务器,升级就完成了。如果只是升级带宽,甚至不用重启。   整个过程合起来不用5分钟,简单,快捷,方便。   而且,现在的云服务器提供商,除了服务器外,还提供下面的服务:   负载均衡   云数据库   云内存存储   这些服务在app上线初期,在一台服务器上自己搭建就行了,   但随着app的发展,这些服务都需要部署在不同的服务器。      规模的增大,也要面对高可用,高并发,监控报警等问题。   这些问题如果都要后端人员处理

Redis 实战场景详解

為{幸葍}努か 提交于 2020-01-14 09:01:31
一、简介 分布式缓存是分布式系统中的重要组件,主要解决高并发、大数据场景下,热点数据访问的性能问题,提供高性能的数据快速访问。 使用缓存常见场景是:项目中部分数据访问比较频繁,对下游 DB(例如 MySQL)造成服务压力,这时候可以使用缓存来提高效率。 缓存组件有很多种,大家熟知的 Redis、Tair、MemCache 等。今天我们重点介绍 Redis 缓存数据库 相关的内容知识。 Redis 是开源免费,性能不错的 key-value 数据库。Redis 的特点包括: Redis 除了支持 key-value 类型的数据,同时还支持其他多种数据结构的存储; Redis 支持数据持久化存储,可以将数据存储在磁盘中,机器重启数据将从磁盘重新加载数据; Redis 支持数据的备份,即 Master-Slave 模式的数据备份。 Redis 作为缓存数据库和 MySQL 这种结构化数据库进行对比。 **从数据库类型上,**Redis 是 NoSQL 半结构化缓存数据库, MySQL 是结构化关系型数据库; **从读写性能上,**MySQL 是持久化硬盘存储,读写速度较慢, Redis 数据存储读取都在内存,同时也可以持久化到磁盘,读写速度较快; **从使用场景上,**Redis 一般作为 MySQL 数据读取性能优化的技术选型,彼此配合使用。 接下来我们将重点向大家介绍关于 Redis

redis

坚强是说给别人听的谎言 提交于 2020-01-13 18:57:28
目录 概念 什么是NOSQL NOSQL和关系型数据库比较 非关系型数据库的优势 关系型数据库的优势 总结 主流的NOSQL产品 什么是Redis 下载安装 命令操作 redis的数据结构 字符串类型:string 哈希类型:hash(map格式) 列表类型:list(linkedlist格式) 集合类型:set 有序集合类型:sortedset 通用命令 持久化 Java客户端:Jedis 概述 Jedis操作redis中的数据结构 字符串类型 string 哈希类型 hash(map格式) 列表类型 list(linkedlist格式) 集合类型 set 有序集合 sortedset jedis连接池: jedisPool jedis连接池工具类 案例 概念 简介: ​ 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 概念: redis是一款高性能的NOSQL系列的非关系型数据库 什么是NOSQL NoSQL(NoSQL = Not Only SQL) ,意即“不仅仅是SQL”,是一项全新的数据库理念