第六天业务题

6-1 HashMap和CurrentHashMap的区别是什么?  CurrentHashMap底层结构在1.7和1.8有什么不同?
HashMap和ConcurrentHashMap是两种不同的Map

1.线程安全:HashMap线程不安全,它的底层是数组+红黑树,在多线程的情况下,因为它底层没有锁所以在多个线程同时修改的时候,会出现线程不安全问题

ConcurrentHashMap是线程安全的,它采用了分段锁的技术,不同的段上的操作可以并行,这样解决了线程安全问题还提高了性能

2.性能:ConcurrentHashMap允许多个线程同时读取,而HashMap在多线程的环境下,需要外部手段

来保证线程安全,性能下降了

ConcurrentHashMap在JDK1.7和JDK1.8中底层结构发生了变化:

在jdk1.7中采用Segment + HashEntry的方式进行实现;

在jdk1.8中放弃了Segment,取而代之的是采用Node + CAS + Synchronized来保证并发安全。

6-2 假设你有一批历史积分数据要存储,数量在kw条左右 存入mysql 你的方案是什么
当数据量过多时,可以使用分库分表来存储到mysql中

1.由于积分数据量太大,可以进行分库操作,按照年份来分,分好库后,可以按照月份来进行水平分表,每个月的数据存入一个单独的数据表中,并且分库操作配合集群可以避免单点崩溃现象,避免一个库崩溃引起整个系统瘫痪

2.查询数据的时候,可以根据前端传入的时间参数,来判断查找哪个库中的哪个表,并且历史数据不需要的可以进行删除,这样可以大大提高查询效率

以上就是我针对存入mysql海量数据的方案


6-3 请你说一说你的排行榜功能是如何实现的
在我们的项目里,排行榜分为两种,分别是当前排行榜和历史排行榜

1.当前排行榜就是查询本月数据库中用户通过各种任务获取积分的总和进行倒排序,取前500条数据,显示出用户名、排名、分数总和,因为排行榜的数据量很大并且并发量很大,查询频率高,如果存入mysql中的话,访问压力过大,所以选择存入redis中,并搭建集群,这样可以大大减少数据库压力,并且提高查询速度。

2.历史排行榜是本月之前的用户积分数据,它的访问频率并没有那么高,所以可以存入mysql中,由于数据量太大,所以进行集群分库分表操作,这样更方便删除过早之前的数据,还可以避免存入一个库中数据全部丢失的问题。

以上就是排行榜功能的实现


6-4 历史赛季积分是如何生成的
在我们的项目中,使用redis配合mysql存储历史排行榜数据

由于当前排行榜会根据月份变化,所以需要用到XXL-JOB的定时任务,自动创建mysql数据表,将redis中的数据同步到mysql中,最后删除redis中的数据,这三个步骤缺一不可,所以使用任务链,保证任务成功,这样当新的排行榜数据存入时,不会导致内存溢出。

以上就是我们项目中历史积分的生成
 

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《数据库系统概念第六版pdf》是一本经典的数据库理论教材。本书系统地介绍了数据库系统的基本概念、SQL语言、数据模型、数据管理技术等内容。本书的特点是理论联系实践,强调数据库应用的实际场景,且涵盖了最新的数据库技术和概念。 本书主要分为八个章节,每个章节都是有机结合的,内容相互关联,从而构建一个关于数据库系统的完整知识体系。其中,第一章为引言,介绍了数据库的概念和发展历史。第二章介绍了关系模型,包括关系代数、SQL语言、实体关系图等。第三章介绍关系数据库设计的基本原则和步骤,包括ER图、范式设计等。第四章介绍了关系数据完整性和安全性的管理,包括数据约束、授权与角色等。第五章介绍了多表查询和关联查询的使用技巧。第六章介绍了SQL语言的高级特性,如嵌套查询、视图、事务等。第七章介绍了高级数据管理技术,如数据仓库、数据挖掘等。最后一章讨论了高可用性、分布式数据库、NoSQL等主。 本书的编排清晰、内容全面,对于广大数据库从业者和学生都是一本非常优秀的教材。务实性的描述,让读者更容易理解。文字流畅且通俗易懂,例子或练习更是帮助读者快速掌握。总体来说,这是一本被广泛认可和推荐的数据库教材。 ### 回答2: 《数据库系统概念第六版PDF》是一本深入介绍数据库系统理论和实践的学术著作,其主要内容包括数据库系统概述、关系模型、数据库语言SQL、关系数据库设计、关系数据库编程和应用等多个方面。 该书的内容涵盖了从数据库设计、实现到运行管理的全过程,对于需要从事数据库相关工作的人员具有非常实用的指导意义。同时,该书也提供了一些典型的数据库设计案例,作者讲述了如何在具体业务场景下进行数据库设计,并进行的详细解释和说明。这些案例不仅适用于初学者的实践训练,也可以为专业人士提供宝贵的参考和借鉴。 总之,《数据库系统概念第六版PDF》是一本综合性、深入剖析且具有实用性的数据库相关著作。无论是想要从事数据库相关的人员,还是已经从事多年的专业人士,都可以从这本书中获取到对数据库理论和实践的增长、更新和加强。 ### 回答3: 《数据库系统概念第六版》是一本有关数据库系统概念和实现的经典教材。本书内容涵盖了数据库的基本概念,关系模型,关系代数和SQL语言,不同类型的数据模型(如面向对象、XML),事务管理和并发控制,数据仓库和数据挖掘等方面。作者以通俗易懂的方式,详细阐述了数据库系统的各个方面,使得读者能够理解数据库的基本原理和技术细节,从而能够更好地应用它们。 本书特点在于其广泛的覆盖面和深入的讲解。书中涵盖的内容包含了数据库系统的各个领域和各个方面,包括基础理论、数据库设计、SQL语言、数据仓库与数据挖掘、事务处理、并发控制等。从此,读者可以全面掌握数据库的概念、基本原理和实际应用。此外,本书还特别强调了实践操作和案例研究,通过大量的实例和练习,帮助读者获得实践经验和实际应用能力。 总之,《数据库系统概念第六版》是一本非常优秀而且值得一读的数据库相关教材。它不仅适合计算机专业的大学生和研究生使用,也适合相关工作者阅读,增进其对数据库系统的理解和掌握,从而更好地应用和发挥它们的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值