redis分布式

redis(三)

江枫思渺然 提交于 2020-03-07 03:26:48
1、集群 概念 Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如,当遇到单机内存,并发和流量等瓶颈的时候,Redis Cluster能起到很好的负载均衡的目的。 Redis Cluster集群节点最小配置6个节点以上(3主3从),其中主节点提供读写操作,从节点作为备用节点,不提供请求,只作为故障转移使用 优缺点 优点: 无中心架构 数据按照slot存储分布在多个节点,节点间数据共享,可动态调整数据分布 可扩展性:可线性扩展到1000多个节点,节点可动态添加或删除 高可用性:部分节点不可用时,集群仍可用。通过增加Slave做standby数据副本,能够实现故障自动failover,节点之间通过gossip协议交换状态信息,用投票机制完成Slave到Master的角色提升 降低运维成本,提高系统的扩展性和可用性 缺点: 节点会因为某些原因发生阻塞(阻塞时间大于clutser-node-timeout),被判断下线,这种failover是没有必要的 Slave在集群中充当“冷备”,不能缓解读压力,当然可以通过SDK的合理设计来提高Slave资源的利用率 Key批量操作限制,如使用mset、mget目前只支持具有相同slot值的Key执行批量操作。对于映射为不同slot值 的Key由于Keys不支持跨slot查询

NoSql简介以及Redis基本使用

≡放荡痞女 提交于 2020-03-06 18:55:11
参考了其他博主的博文加上自己实践所写,不足之处尽请谅解,我的另一篇博文会有redis的安装以及对应的资源~ 1、什么是NoSql NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一种 基于内存的数据库 ,并且提供一定的持久化功能; NoSQL:非关系型的数据库 。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。 非关系型的数据库 :它的存储方式与我们的传统的数据库(二元关系来进行存储)不同; 2、主流使用的四大类非关系型数据库 2.1 键值(Key-Value)存储数据库(一个键对应一个值) 这一类数据库主要会使用到一个 哈希表 ,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署;举例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB 在使用范围:redis—做缓存的时候; 2.2 列存储数据库(一个键对应多个值)

JAVA学习要点总结

落花浮王杯 提交于 2020-03-05 09:38:26
文章目录 缓存 memcache的分布式原理 memcache的内存分配机制 如何存放数据到memcached缓存中?(memcache内存分配机制) memcache的惰性失效机制 memcache缓存的无底洞现象 一致性Hash算法的实现原理 Hash环 一致性Hash算法 Hash环的倾斜 虚拟节点解决Hash环倾斜 hash算法平衡性 memcached与redis的区别 Redis的主从复制 Redis的部分复制过程 Redis的主从复制阻塞模式 Redis的数据持久化方式 Redis的高可用部署方式 哨兵模式 Redis哨兵主要功能 Redis哨兵的高可用 哨兵如何判断redis主从节点是否正常? 集群模式 Redis可以在线扩容吗?zk呢 Redis高并发和快速的原因 浏览器本地缓存的了解和使用 缓存雪崩 缓存穿透 HashMap HashMap的Hash碰撞 HashMap的get和put原理 HashMap的rehash HashMap的线程不安全问题 HashMap和Hashtable的区别 为什么collection没有实现clonable接口 为什map没有实现collection接口 Map接口的实现有哪些,区别是什么 线程池 Executors框架的四种线程池及拒绝策略 四种线程池 JDK拒绝策略 Reactor模式 Reactor单线程模型

redis

允我心安 提交于 2020-03-03 16:47:32
概述: redis是一款开源的高性能键值对非关系数据库 支持的键值类型:   1.字符串类型 String   2.哈希类型 hash   3.列表类型 list   4.集合类型 set   5.有序集合类型 sortedset 应用场景:    缓存(数据查询,短连接,新闻内容,商品内容等等)   聊天室的在线好友列表   应用排行榜   网站访问统计   数据过期处理   分布式集群架构中的session分离 下载安装:    推荐使用中文网的资源,下载快: https://www.redis.net.cn/    解压可直接使用 来源: https://www.cnblogs.com/jasonjson/p/12402763.html

云服务器分布式配置过程

只谈情不闲聊 提交于 2020-03-03 12:02:10
服务器两次被入侵,导致我一切推倒重来,在重新配置的过程,总结下安装经验 如果需要安装包,可以留言,这次重新安装配置后都有存下来 数据库的配置 tomcat及JDK的配置 zookeeper的配置及dubbo可视化界面(未更新) fastDfs分布式文件系统服务器(用于上传配置) 在Storage上安装nginx配置图片服务虚拟主机(用于下载) redis缓存服务器安装及jedis集成使用(未更新) solr搜索应用服务器安装配置及集成使用(未更新) 来源: CSDN 作者: 陈晨* 链接: https://blog.csdn.net/weixin_41998993/article/details/104626212

Redis面试总结

做~自己de王妃 提交于 2020-03-03 02:40:15
1、什么是Redis? 是非关系型数据库,分布式缓存,用来存session,性能高,速度快,key-value形式存储 2、支持的数据类型 key-value、String、set、list、hash、zset 3、应用场景 缓存 需要实时变化和展示的功能,用redis操作 消息队列 4、 来源: CSDN 作者: ren_luxia 链接: https://blog.csdn.net/ren_luxia/article/details/104613723

cas单点登录集群如何优雅的退出

时光毁灭记忆、已成空白 提交于 2020-03-02 12:32:11
实现cas ticket基于redis的集群 目的 克服cas单点故障,将cas认证请求分发到多台cas服务器上,降低负载。 实现思路: 采用统一的ticket存取策略,所有ticket的操作都从中央缓存redis中存取。 采用session共享,session的存取都从中央缓存redis中存取。 前提: 这里只讲解如何实现cas ticket的共享,关于session的共享请移步: https://github.com/izerui/tomcat-redis-session-manager 实现步骤: 基于cas源码 新增模块 cas-server-integration-redis pom.xml 文件如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>cas-server</artifactId>

redis常用命令

一世执手 提交于 2020-03-02 08:27:39
1.1 Redis命令 ps -ef |grep redis 指定端口:bind 127.0.0.1 我们要注释掉,让所有端口都能进入。 1.1.1 redis-cli的使用之发送命令 默认连接:IP 127.0.0.1 端口 6379 redis-cli 指定IP端口: redis-cli –h 127.0.0.1 –p 6379 1.1.2 redis-cli的使用之命令返回值 状态回复(最简单的回复-redis提供的测试命令) redis>PING PONG 127.0.0.1:6379>INCR test_incr (integer) 1 字符串回复(最长久的一种回复,双引号包裹) 127.0.0.1:6379>get test “123” 多行字符串回复 127.0.0.1:6379>KEYS * 1) "test_incr" 2) "test" 1.1.3 redis数据库切换SELECT redis默认支持16个数据库,对外都是以一个从0开始的递增数字命名,可以通过参数database来修改默认数据库个数。客户端连接redis服务后会自动选择0号数据库,可以通过select命令更换数据库,例如选择1号数据库: 127.0.0.1:6379>SELECT 1 OK 127.0.0.1:6379>GET test (nil) 说明: Redis不支持自定义数据库名称。

Docker实战之Redis-Cluster集群

心不动则不痛 提交于 2020-03-01 19:50:38
概述 接上一篇 Docker实战之MySQL主从复制 , 这里是Docker实战系列的第二篇,主要进行Redis-Cluster集群环境的快速搭建。Redis作为基于键值对的NoSQL数据库,具有高性能、丰富的数据结构、持久化、高可用、分布式等特性,同时Redis本身非常稳定,已经得到业界的广泛认可和使用。 在Redis中,集群的解决方案有三种 主从复制 哨兵机制 Cluster Redis Cluster是Redis的分布式解决方案,在 3.0 版本正式推出。 集群方案的对比 1. 主从复制 同Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,读写分离。一个Master可以有多个Slaves。 优点 数据备份 读写分离,提高服务器性能 缺点 不能自动故障恢复,RedisHA系统(需要开发) 无法实现动态扩容 2. 哨兵机制 Redis Sentinel是社区版本推出的原生 高可用 解决方案,其部署架构主要包括两部分:Redis Sentinel集群和Redis数据集群。 其中Redis Sentinel集群是由若干Sentinel节点组成的分布式集群,可以实现故障发现、故障自动转移、配置中心和客户端通知。Redis Sentinel的节点数量要满足2n+1(n>=1)的奇数个。 优点

Etcd 与Redis 业务应用场景差异

对着背影说爱祢 提交于 2020-03-01 14:16:47
Redis特点 1. 丰富的数据类型 (string, hash, set ,zset, list 等) 2. 读写性能优异 3. 单线程原子性 4. 可持久化 aof/rdb 5. 支持pub/sub 订阅发布模式 高可用方案:哨兵机制 分布式一致性:redis主从为异步复制模式,一致性无法保证 (多节点数据一致性强依赖网络延迟) 主要适用场景:队列, 缓存,分布式session,等非强一致性需求 ----- Etcd特点 说明:分布式的,一致性的KV存储系统 分布式一致性:基于raft协议,写入数据需要多数节点应答,确认后才会将数据返回给客户端。 复制模式:基于日志复制 主要适用场景:配置管理、服务发现 易用性方面:Etcd 提供了HTTP API 总结:配置管理/服务发现 需要高可用和强一致性,从上面可以看出,Redis并不具备该特性。Redis有着优秀的并发吞吐能力,在web应用中,Redis大多数当缓存,队列使用,缓解数据库压力。 来源: CSDN 作者: pfm685757 链接: https://blog.csdn.net/pfm685757/article/details/104591043