获得徽章 7
- 负载均衡策略:
1.轮询(Round Robin)
2.加权轮询(Weighted Round Robin)
3.随机(Random)
4.最少连接(Least Connections)
5.IP哈希(IP Hash)展开赞过21 - redis主从复制原理:
Redis主从复制的原理主要涉及主节点(Master)和从节点(Slave)之间的数据同步过程。以下是Redis主从复制的主要步骤和原理:
1.连接与初始化:当一个从节点启动并成功连接到主节点后,从节点会向主节点发送一个SYNC命令,请求进行数据同步。
2.快照保存与命令缓存:主节点在接收到SYNC命令后,会执行一个后台的存盘进程(即RDB持久化过程),生成一个数据快照文件(.rdb文件)。同时,主节点会缓存这期间接收到的所有写命令,以便后续发送给从节点。
3.数据发送:当主节点的快照生成完毕后,它会将这个快照文件以及缓存的所有写命令发送给从节点。
4.数据加载:从节点接收到主节点发送的快照文件和写命令后,会先将快照文件加载到本地内存中,然后执行这些写命令,以确保与主节点的数据保持一致。
5.持续同步:在初始化同步完成后,主节点每次接收到写命令时,都会将这些命令发送给从节点,从而保持主从节点之间的数据一致性。这种同步是持续进行的,确保从节点始终拥有主节点的最新数据。展开赞过21 - Spring Bean的生命周期包括以下主要阶段:
实例化Bean对象
设置Bean属性
调用BeanNameAware的setBeanName()
调用BeanFactoryAware的setBeanFactory()
调用ApplicationContextAware的setApplicationContext()
调用BeanPostProcessor的postProcessBeforeInitialization()
调用InitializingBean的afterPropertiesSet()
调用定制的init-method方法
调用BeanPostProcessor的postProcessAfterInitialization()
应用中使用Bean
调用DisposableBean的destroy()
调用定制的destroy-method方法展开评论点赞 - CAS是解决什么问题?
CAS(Compare-And-Swap)是用来解决多线程环境下,对共享变量进行操作时可能出现的线程安全问题。
传统的锁机制会导致线程阻塞和切换开销较大,而CAS通过硬件支持,在操作值的同时更新变量,只涉及几条CPU指令,开销较小。评论点赞 - redis哪些场景是多线程 哪些场景是单线程,从什么版本开始的?
Redis自6.0版本起开始支持多线程。这一版本的更新,主要针对Redis在IO操作上的性能瓶颈,通过引入多线程机制来提升IO操作的效率。然而,需要注意的是,Redis的多线程并非全面覆盖所有操作,而是主要集中在IO操作上,如数据的读写和解析。在操作内存数据时,Redis仍然使用单线程,这主要是为了保证操作的线程安全以及降低实现的复杂度。展开2点赞