Redis

(一)互联网分布式微服务云平台规划分析--平台整体规划

自闭症网瘾萝莉.ら 提交于 2020-11-13 17:58:56
1. 导语 近期公司孵化了一个互联网产品,随着业务发展,产品运营后用户数据量(过亿)、业务数据量(过100亿)较大,技术团队配合产品、运营快速定制化开发, 还要考虑产品涉及的资金安全、消息的及时性、业务的制动化处理,我们选择鸿鹄cloud分布式云架构平台作为公司产品核心企业架构。 2. 产品平台规划 微服务注册中心(分布式集群部署)、微服务配置中心(分布式集群部署)、服务网关平台(分布式集群部署)、 微服务监控平台、SSO单点登录平台(分布式集群部署)、微服务相关组件(分布式集群部署)、后台管理平台、 定时调度平台(按照业务分库、分表部署)、业务微服务(分布式集群部署、超过20个微服务)、MQ消息中间件业务平台(分布式集群部署) MySql主从、读写分离(高可用部署)、Redis分布式缓存(高可用) 3. 源码结构: commonservice 通用服务:对spring Cloud组件的使用&封装,是一套完整的针对于分布式微服务云架构的解决方案 Component 通用组件:对系统常用组件的封装,包括对象存储包、工具包、缓存包、MQ相关、API调用包的封装等。 SAAS微服务 SAAS服务:针对通用业务如:会员、消息、支付等 快速开发管理平台 企业级快速开发平台,封装了用户、角色、权限、数据字典、菜单、日志、机构、部门等管理功能,针对于业务服务做了统一管理。 4. 分布式、微服务

每天两小时轻松掌握java、spring、Redis、JVM、分布式、高并发

早过忘川 提交于 2020-11-13 13:14:34
干货视频,高级架构师最新java、spring、Redis、JVM、分布式、高并发。要的留下私信我,一小时之内回复。里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点高级进阶干货的免费直播讲解。 需要资料直接关注下方公众号即可免费领取。 精选JAVA 高并发分布式架构课程视频 。 高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx 互联网架构专题课程【马士兵教育】---Java架构师学这个就够了 若干架构资料文档 面试系列视频发放 如果需要获取到这个里面的文档的话帮忙转发一下然后再关注下方公众号得到获取方式吧! 来源: oschina 链接: https://my.oschina.net/u/4310950/blog/4715598

缓存穿透、缓存雪崩和缓存击穿是什么?

假装没事ソ 提交于 2020-11-13 10:54:17
对于缓存穿透、缓存雪崩和缓存击穿常常出现在面试中,今天来看看它到底是啥吧? redis缓存穿透 理解 重在 穿透 吧,也就是访问透过redis直接经过mysql,通常是一个不存在的 key ,在数据库查询为 null 。每次请求落在数据库、并且高并发。数据库扛不住会挂掉。 解决方案 可以将查到的null设成该key的缓存对象。 当然,也可以根据明显错误的key在逻辑层就就行 验证 。 同时,你也可以分析用户行为,是否为故意请求或者爬虫、攻击者。针对用户访问做限制。 其他等等,比如用布隆过滤器(超大型hashmap)先过滤。 redis缓存雪崩 理解 雪崩,就是某 东西蜂拥而至 的意思,像雪崩一样。在这里,就是redis缓存集体 大规模集体失效 ,在高并发情况下突然使得key大规模访问mysql,使得数据库崩掉。可以想象下国家 人口老年化 。以后那天人集中在70-80岁,就没人干活了。国家劳动力就造成压力。 解决方案 通常的解决方案是将key的过期时间后面加上一个 随机数 , 让key均匀的失效。 考虑用队列或者锁让程序执行在压力范围之内,当然这种方案可能会影响并发量。 热点数据可以考虑不失效 redis缓存击穿 理解 缓存击穿,是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,好像蛮力击穿一样

一线互联网公司Redis使用精髓,你必须要掌握这4点!

对着背影说爱祢 提交于 2020-11-13 06:52:28
先来看一下这些Redis面试题你会几道? 1、什么是 Redis?简述它的优缺点? 2、Redis 与 memcached 相比有哪些优势? 3、Redis 支持哪几种数据类型? 4、Redis 主要消耗什么物理资源? 5、Redis 有哪几种数据淘汰策略? 6、Redis 官方为什么不提供 Windows 版本? 7、一个字符串类型的值能存储最大容量是多少? 8、为什么 Redis 需要把所有数据放到内存中? 9、Redis 集群方案应该怎么做?都有哪些方案? 10、Redis 集群方案什么情况下会导致整个集群不可用? 11、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据? 12、Redis 有哪些适合的场景? 13、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个? 14、Redis 和 Redisson 有什么关系? 15、Jedis 与 Redisson 对比有什么优缺点? 16、说说 Redis 哈希槽的概念? 17、Redis 集群的主从复制模型是怎样的? 18、Redis 集群会有写操作丢失吗?为什么? 19、Redis 集群如何选择数据库? 20、Redis 如何做内存优化? 了解Redis Redis是一种基于键值对(Key-Value)的NoSQL数据库

为什么使用Nosql:Nosql和SQL的区别

心已入冬 提交于 2020-11-13 02:27:19
1、概念: SQL(Structured Query Language)数据库,指关系型数据库。主要代表:SQL Server、Oracle、MySQL、PostgreSQL。 NoSQL(Not Only SQL)泛指非关系型数据库。主要代表:MongoDB、Redis、CouchDB。 2、诞生原因: 随着互联网的不断发展,各类型的应用层出不穷,在这个云计算的时代,对技术提出了更多的需求,主要体现在这四个方面: ①低延迟的读写速度:应用快速的反应能极大地提升用户的满意度。 ②海量的数据和流量:对于搜索这样大型应用而言,需要利用PB级别的数据和能应对百万级的流量。 ③大规模集群的管理:系统管理员希望分布式应用能更简单的部署和管理。 ④庞大运营成本的考量:IT经理们希望在硬件成本、软件成本和人力成本能够有大幅度地降低。 目前世界上主流的存储系统大部分还是采用了关系型数据库,其主要有以下优点: ①事务处理——保持数据的一致性。 ②由于以标准化为前提,数据更新的开销很小 ③可以进行join等复杂查询 虽然关系型数据库已经在业界的数据存储方面占据了不可动摇的地位,但是由于其天生的几个限制,使其很难满足上面这几个要求: ①扩展困难:由于存在类似join这要多表查询机制,使得数据库在扩展方面很艰难 ②读写慢:这种情况主要发生在数据量达到一定规模时由于关系型数据库的系统逻辑非常复杂