Redis安装与使用(java版)

 redis安装

centos普通安装

https://blog.csdn.net/gs_albb/article/details/92022693

docker安装redis并挂载conf

https://www.cnblogs.com/linjiqin/p/10472023.html

docker安装redis sentinel

https://www.cnblogs.com/boshen-hzb/p/10471665.html

cache缓存

Spring Boot 与缓存

https://blog.csdn.net/pavel101/article/details/84339421

@Cacheable中value的理解

https://blog.csdn.net/xtj332/article/details/80056385

@Cacheable中id的理解

https://q.cnblogs.com/q/111220/

Redis缓存管理器

https://blog.csdn.net/pavel101/article/details/84581061

https://www.jianshu.com/p/6943bb8a9ab8?utm_source=oschina-app

分布式锁redisson

https://www.javazhiyin.com/29459.html

https://blog.csdn.net/HXNLYW/article/details/103069026

布隆过滤器(缓存击穿)

布隆过滤器原理、使用场景和注意事项

https://www.jianshu.com/p/2104d11ee0a2

大白话布隆过滤器

https://www.cnblogs.com/CodeBear/p/10911177.html

Guava教程-BloomFilter

https://blog.csdn.net/top_code/article/details/51280862

布隆过滤器扩容及删除过期数据

https://www.jianshu.com/p/214e96e2a781

Redis与HyperLogLog(网站PV统计)

https://www.jianshu.com/p/f008ae58336a

 redis订阅通知(订单过期)

我是如何用redis做订阅通知的

https://www.cnblogs.com/linlinismine/p/9214299.html

Redis键空间通知

http://www.redis.cn/topics/notifications.html

SpringBoot实现监听redis key失效事件

https://www.jianshu.com/p/106f0eae07c8

https://cnsyear.com/posts/f565a40.html

使用中的问题:

缓存穿透,缓存击穿,缓存雪崩,缓存并发,热点key

https://www.cnblogs.com/xichji/p/11286443.html

https://www.cnblogs.com/George1994/p/10668889.html

*以下问题基本都可以用锁或者限流来解决,但是也牺牲了系统效率

 
 * 缓存穿透:是指缓存中没有数据库中也没有的数据(恶意用户模拟请求很多缓存中不存在的数据,由于缓存中都没有,导致这些请求短时间内直接落在了数据库上,导致数据库异常。)
 * 1:布隆过滤器:请求数据前可以先判断redisExists。if true,从redis查数据,拿不到就是误判,再走数据库;if false直接包装数据返回
 * 2:缓存空对象:当数据库不命中后,即使返回的空对象也将其缓存起来,同时会设置一个过期时间,之后再访问这个数据将会从缓存中获取,保护了后端数据源;
 * 两种方案对比:1适用数据相对固定实时性低 2适用数据频繁变化实时性高;1代码复杂,空间占用小 2代码简单,空间占用多,数据不一致问题
 *
 * 热点key:(突然有几十万的请求去访问redis上的某个特定key。那么,这样会造成流量过于集中,达到物理网卡上限,从而导致这台redis的服务器宕机)
 * 1:利用二级缓存(比如利用ehcache,或者一个HashMap都可以。在你发现热key以后,把热key加载到系统的JVM中。针对这种热key请求,会直接从jvm中取,而不会走到redis层。)
 * 2:进行redis多机备份,不要让key走到同一台机子,高可用的redis集群方案,集群使用公式CRC16(key) % 16384来计算Key属于哪个槽,再来进行分发请求
 *
 * 缓存击穿:是指缓存中没有但数据库中有的数据(大量的请求访问刚好过期的热点key)
 * 1:设置热点key永不过期
 *
 * 缓存雪崩:是指在某一个时间段,缓存集中过期失效(到了过期时间,或者宕机)
 * 1:数据预热,随机指定失效时间
 *
 * 缓存并发竞争:多个redis的client同时set key引起的并发问题
 * 1:将set操作放队列中串行化执行
 * 2:加锁执行set

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值