![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库相关
数据库相关
Andrew.J
以终为始,闭环迭代,持续提高。
展开
-
Redis 是如何实现高可用的?
高可用是通过设计,减少系统不能提供服务的时间,是分布式系统的基础也是保障系统可靠性的重要手段。而 Redis 作为一款普及率最高的内存型中间件,它的高可用技术也非常的成熟。Redis 是如何保证系统高可用的?它的实现方式有哪些?典型回答Redis 高可用的手段主要有以下四种:●数据持久化●主从数据同步(主从复制)●Redis 哨兵模式(Sentinel)●Redis 集群(Cluster)其中数据持久化保证了系统在发生宕机或者重启之后数据不会丢失,增加了系统的可靠性和减少了系统不可用的时间(原创 2020-12-04 21:53:04 · 1090 阅读 · 0 评论 -
Redis 中如何实现的消息队列?实现的方式有几种?
细心的你可能发现了,竟然出现了三篇文章都是在说消息队列,程序级别的消息队列以及延迟消息队列的实现,讲了常见的消息队列中间件 RabbitMQ、Kafka 等,由此可见消息队列在整个 Java 技术体系中的重要程度。这里我们将重点来看一下 Redis 是如何实现消息队列的。在 Redis 中实现消息队列的方式有几种?典型回答早在 Redis 2.0 版本之前使用 Redis 实现消息队列的方式有两种:●使用 List 类型实现●使用 ZSet 类型实现其中使用 List 类型实现的方式最为简单和直原创 2020-12-04 21:29:34 · 573 阅读 · 0 评论 -
Redis 怎样实现的分布式锁?
“锁”是我们实际工作和面试中无法避开的话题之一,正确使用锁可以保证高并发环境下程序的正确执行,也就是说只有使用锁才能保证多人同时访问时程序不会出现问题。什么是分布式锁?如何实现分布式锁?典型回答我们在之前文章【点此链接】讲了单机锁的一些知识,包括悲观锁、乐观锁、可重入锁、共享锁和独占锁等内容,但它们都属于单机锁也就是程序级别的锁,如果在分布式环境下使用就会出现锁不生效的问题,因此我们需要使用分布式锁来解决这个问题。分布式锁是控制分布式系统之间同步访问共享资源的一种方式。是为了解决分布式系统中,不同的原创 2020-12-04 21:05:06 · 131 阅读 · 0 评论 -
Redis 的过期策略和内存淘汰机制有什么区别?
Redis 和 MySQL 是面试绕不过的两座大山,他们一个是关系型数据库的代表(MySQL),一个是键值数据库以及缓存中间件的一哥。尤其 Redis 几乎是所有互联网公司都在用的技术,比如国内的 BATJ、新浪、360、小米等公司;国外的微软、Twitter、Stack Overflow、GitHub、暴雪等公司。有的公司用 MySQL、有的用 SQL Server、甚至还有的用 Oracle 和 DB2,但缓存无一例外使用的都是 Redis,从某种程度上来讲 Redis 是普及率最高的技术,没有之一。原创 2020-12-04 20:44:58 · 509 阅读 · 0 评论 -
关系型数据和文档型数据库有什么区别?
关系数据库(Relational Database)是建立在关系模型基础上的数据库,借助于几何代数等数学概念和方法来处理数据库中的数据。所谓关系模型是一对一、一对多或者多对多等关系,常见的关系型数据库有 Oracle、SQL Server、DB2、MySQL 等。而文档型数据库是一种非关系型数据库,非关系型数据库(Not Only SQL,NoSQL)正好与关系型数据库相反,它不是建立在“关系模型”上的数据库。文档型数据库的典型代表是 MongoDB。关系型数据库和文档型数据库有什么区别?典型回答关原创 2020-12-04 20:08:25 · 1186 阅读 · 0 评论 -
MySQL 的优化方案有哪些?
性能优化(Optimize)指的是在保证系统正确性的前提下,能够更快速响应请求的一种手段。而且有些性能问题,比如慢查询等,如果积累到一定的程度或者是遇到急速上升的并发请求之后,会导致严重的后果,轻则造成服务繁忙,重则导致应用不可用。它对我们来说就像一颗即将被引爆的定时炸弹一样,时刻威胁着我们。因此在上线项目之前需要严格的把关,以确保 MySQL 能够以最优的状态进行运行。同时,在实际工作中还有面试中关于 MySQL 优化的知识点,都是面试官考察的重点内容。MySQL 的优化方案有哪些?典型回答MySQ原创 2020-12-04 19:44:37 · 211 阅读 · 0 评论 -
MySQL 的运行机制是什么?它有哪些引擎?
数据库是 Java 程序员面试必问的知识点之一,它和 Java 的核心面试点共同组成了一个完整的技术面试。而数据库一般泛指的就是 MySQL,因为 MySQL 几乎占据了数据库的半壁江山,即使有些公司没有使用 MySQL 数据库,如果你对 MySQL 足够精通的话,也是会被他们录取的。因为数据库的核心与原理基本是相通的,所以有了 MySQL 的基础之后,再去熟悉其他数据库也是非常快的。MySQL 是如何运行的?说一下它有哪些引擎?典型回答MySQL 的执行流程是这样的,首先客户端先要发送用户信息去服务原创 2020-12-04 19:18:47 · 146 阅读 · 0 评论