Redis
luoChao0916
这个作者很懒,什么都没留下…
展开
-
Redis分布式锁实现
在单进程多线程的情况下,为了防止多个线程竞争共享资源,需要使用锁。java中提供了显示锁和隐式锁。但是在分布式部署的多进程下,就必须使用分布式锁。分布式锁的条件保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行// 加锁, unique_value作为客户端唯一性的标识SET lock_key unique_value NX PX 10000Redis的set命令可以增加NX选项,不存在即设置;只有在键值对不存在时,才会进行设置,否则不做赋值操作PX选项,原创 2020-12-02 17:17:28 · 93 阅读 · 0 评论 -
Redis的复制原理
为什么要复制? 无论是使用AOF持久化还是RDB持久化,将数据持久化到硬盘上都是非常有必要的,但是除了进行数据的持久化之外,还必须对持久化后的文件进行备份。最好是备份到不同的服务器上,这样才能避免数据丢失事故的发生。Redis复制的配置slaveof host port可以通过执行slaveof命令或者在redis.conf文件中配置slaveof选项,让一个服务器去复制(repli...原创 2018-08-31 12:19:06 · 627 阅读 · 0 评论 -
Redis的高可用解决方案哨兵(Sentinel)
上一篇文章介绍了Redis的主从复制原理 在做Master-Slave主从复制的时候,如果主服务器宕机,Redis无法实现主从切换。这时候就需要Redis提供的Sentinel系统。 Sentinel是Redis高可用的解决方案。Sentinel系统可以监视主服务器以及主服务属下的所有从服务器。并且在主服务进入下线状态时,自动将主服务属下的某个从服务器自动升级为主服务器。然后由新的主服...原创 2018-09-01 00:08:20 · 828 阅读 · 0 评论 -
Redis持久化机制(AOF+RDB)
为什么要持久化?Redis是内存数据库,数据保存在内存中。一旦服务器退出,Redis中的数据就会消失。所以Redis提供了持久化技术将内存中的数据保存到磁盘。Redis提供了两种持久化技术,RDB和AOFRDB持久化方式:通过创建快照的方式,将某个时间段内存中数据保存在RDB文件中,RDB文件是一个压缩的二进制文件。 RDB文件是保存在磁盘上的,所以不管Redi...原创 2018-08-30 01:03:25 · 852 阅读 · 0 评论 -
缓存穿透、缓存并发和缓存雪崩
缓存穿透、缓存并发和缓存雪崩是常见的由于并发量大而导致的缓存问题。 缓存穿透通常是由恶意攻击或者无意造成的;缓存并发是由于设计不足;缓存雪崩是缓存同时失效造成的。缓存穿透 缓存穿透是使用了不存在的key进行大量的高并发查询,导致缓存无法命中,每次缓存穿透后都要去数据库中进行查询,导致数据库压力过大甚至数据库服务被压死。 解决方案 1,将空值也缓存,再次接收到同样的请求,若命中缓...原创 2018-09-11 11:37:55 · 299 阅读 · 0 评论