09 2021 档案
摘要:ReentrantLock中通过创建内部类Sync继承AbstractQueuedSynchronizer来管理同步状态,Sync又有公平和非公平锁两种模式: ####公平锁 在公平锁模式下调用ReentrantLock.lock(),内部调用FairSync.lock(),其中调用AQS的acqu
阅读全文
摘要:SpringBoot2.0 默认使用Lettuce作为Redis客户端,在使用Lettuce时,需要额外引入commons-pool2包。创建一个SpringBoot2.x 项目之后,引入commons-pool2包。 <dependency> <groupId>org.apache.commons
阅读全文
摘要:使用Redis For Windows部署Redis主从和哨兵集群,实例为一主二从三哨兵。Redis文件夹如下,因为需要启动多个实例,所以需要准备多份redis.conf,将redis.windows.conf拷贝六份,根据主从、哨兵信息命名。 下载地址 https://github.com/mic
阅读全文
摘要:###Redis高可用之哨兵 在Redis主从集群部署时,从库宕机,客户端仍然可以向主库或者其他从库发起请求;但当主库宕机时,Redis便无法提供写服务了。这个时候就需要一套机制来保障在主库宕机后,主从集群仍然可以正常提供服务,Redis的解决方案为哨兵模式。 哨兵是一个特殊的Redis进程,只是以
阅读全文
摘要:主从模式 Redis高可用之服务,运行期间需要保证Redis服务尽量少中断。可以通过增加Redis实例的方式,将一份数据保存在多个实例上,一台实例出现故障,仍然有其他实例提高服务,维持了服务的高可用。 Redis提供了主从模式,并且采用读写分离的方式: 写操作只能在主库,避免实例间的锁争夺,在主库操
阅读全文
摘要:在Redis宕机之后,可以从后端数据库中恢复缓存数据,但这种方式存在明显的问题,一是需要频繁访问数据库,给数据库造成巨大压力;二是从数据库中读取,性能明显慢于从Redis中读取,导致使用这些数据的应用程序变慢。所以,对Redis来说,实现数据的持久化,避免宕机后从后端数据库中恢复,是至关重要的,这是
阅读全文