Java知识点系统整理之Redis

2021-08-17  本文已影响0人  抄无止境

RDB和AOF机制

首先,我们必须清楚的一点,Redis是内存数据库,如果不进行持久化,服务器在宕机或退出的时候,数据就会丢失,所以需要实现持久化。

Redis的过期键的删除策略?

对于过期键一般有三种删除策略

三种策略的优缺比较:

Redis线程模型,单线程为什么快?

1.Redis线程模型?
多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,于是程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且只依次顺序的处理就绪的流,这种做法就避免了大量的无用操作。

这里“多路”指的是多个网络连接,“复用”指的是复用同一个线程。采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络 IO 的时间消耗),且 Redis 在内存中操作数据的速度非常快,也就是说内存内的操作不会成为影响Redis性能的瓶颈,主要由以上几点造就了 Redis 具有很高的吞吐量。

2.Redis为什么这么快

3.为什么Redis是单线程的?
官方FAQ表示,因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了(毕竟采用多线程会有很多麻烦!)。

参考为什么说Redis是单线程的以及Redis为什么这么快!

缓存穿透 缓存击穿 缓存雪崩

简述redis事物实现?

Redis事务的实现原理
Redis通过MULTI、EXEC、WATCH、DISCARD等命令来实现事务功能。主要有以下三个阶段:

Redis事务的ACID性质

Redis事务的实现原理

Redis集群方案?

Redis主从复制的核心原理?

1.什么是主从复制?
主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);
2.为什么要主从复制?

3.主从复制可能会造成的问题?
4.主从复制的核心原理?

CAP理论 BASE理论

负载均衡算法、类型?

负载均衡(Load balancing)是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载均衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载均衡服务通常是由专用软件和硬件来完成。 主要作用是将大量作业合理地分摊到多个操作单元上进行执行,用于解决互联网架构中的高并发和高可用的问题。
类型

负载均衡的算法种类

分布式架构下,session共享有什么方案?

分布式架构下,session共享有什么方案么?

简述你对RPC、RMI的理解?

分布式id的生成方案?

  1. 数据库自增长序列或字段
  2. UUID
  3. UUID的变种:为了解决UUID不可读,可以使用UUID to Int64的方法。
  4. Redis生成ID
  5. Twitter的snowflake算法
  6. 利用zookeeper生成唯一ID
  7. MongoDB的ObjectId
  8. TiDB的主键

分布式锁解决方案?

分布式事务解决方案?

分布式锁简单入门以及三种实现方式介绍

如何实现接口幂等性?

幂等性说的是:如何防止接口的重复无效请求。
对于一个接口而言,无论调用了多少次,最终得到的结果都是一样的。

四种解决方法:
前端拦截。不安全,可能被专业人士修改,跳过该过程。
使用数据库实现幂等性
使用 JVM 锁实现幂等性。缺点:只能引用于单机环境
使用分布式锁实现幂等性。通常使用redis或者zookeeper实现分布式锁。保证分布式锁的key是业务id的唯一标识。

如何实现接口幂等性?什么是幂等性

上一篇 下一篇

猜你喜欢

热点阅读