首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
reids
订阅
dancer4code
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 0订阅
基于Spring接口,集成Caffeine+Redis两级缓存
在上一篇文章中,我们介绍了3种整合Caffeine和Redis作为两级缓存使用的方法,虽然说能够实现功能,但实现手法还是太粗糙了,本文我们基于JSR规范进行优化,并解决分布式环境下的一致性问题。
Redis+Caffeine两级缓存,让访问速度纵享丝滑
当地表最强本地缓存Caffeine遇上性能之王Redis,能够给我们的接口访问速度带来怎样的提升,不妨来看一下。
原来大厂的Redis分布式锁都这么设计的!
常用的即 synchronize 或 Lock 等 JDK 自带的锁,只能锁住当前进程,仅适用于单体架构服务。 而在分布式多服务实例场景下必须使用分布式锁。 “占坑”可以去Redis、DB、任何所有服务都能访问的地方。 解决方案:设置锁的自动过期,即使没有删除,会自动删除。 解…
一个基于运气的数据结构,你猜是啥?
懂行的老哥一看这个小标题,就知道我要以排行榜作为切入点,去讲 Redis 的 zset 了。 是的,经典面试题,请实现一个排行榜,大部分情况下就是在考验你知不知道 Redis 的 zset 结构,和其对应的操作。 当然了,排行榜我们也可以基于其他的解决方案。比如 mysql。 …
败家玩意儿!Redis 竟然浪费了这么多内存!
作为内存数据库,内存空间大小对于Redis来说是至关重要的。内存越多,意味着存储的数据也会越多。但是不知道你有没有遇到过这样的情况,明明空间很大,但是内存的使用却不是很理想。为什么会出现这样的情况呢?
统一增加缓存的实现(一)
继承 的条件是什么 我们要能够控制这个的构造方法. tomcat在请求过来的时候会在请求过来的时候创建对象,我们现在就是要修改获取HttpServerletRequest对象. 下面其实就是我们装饰者模式中的增强类,但是装饰者模式有一个最大的缺点,那就是增强的时候需要重写所有的…
Guava的布隆过滤器
程序世界的算法都要在时间,资源占用甚至正确率等多种因素间进行平衡。同样的问题,所属的量级或场景不同,所用算法也会不同,其中也会涉及很多的trade-off。 今天我们就来探讨如何判断一个值是否存在于已有的集合问题。这类问题在很多场景下都会遇到,比如说防止缓存击穿,爬虫重复URL…
让你弄懂什么是缓存穿透,并轻松get布隆过滤器原理,快速上手。
一图胜千言,如下图,当访问到数据库中没有的数据的时候,每次访问同样的数据,都会绕过缓存系统(一般是Redis),直接访问到数据库层,这就是我们说的缓存穿透。 我们可以在缓存中将这样的数据也缓存起来,只是缓存的key的value为空。 但是如果有特别多的key是这种情况的,我们的…
Redis 查询优化原理
spring 封装了redis的接口,使得我们在项目中操作redis 异常的简单方便,甚至不用考虑何时释放redis连接。通常只需要两个步骤, 如此简单方便,redis 在项目开发中已经是不可或缺的存在。要知道redis是单线程的,每个命令都是原子性的,单个命令读写起来速度很快…
Redis缓存和数据库一致性解决策略
canal实现方式是模拟mysql slave和master的同步机制,监控DB bitlog的日志更新来触发缓存的更新,此种方法可以解放程序员双手,减少工作量,但在使用时有些局限性。 master服务器将操作中的改变记录存放到二进制日志文件中(binary log),这些记录…