04-23 16:25
2021-04-23 16:25
Redis分布式锁其实就是在系统里面占一个“坑”,其他程序也要占“坑”的时候,占用成功了就可以继续执行,失败了就只能放弃或稍后重试。占坑一般使用setnx(setifnotexists)指令,只允许被一个程序占有,使用完调用del释放锁。[ 查看全部 ]
04-23 16:14
2021-04-23 16:18
缓存穿透:指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。解决方案:最简单粗暴的方法如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),我们就把这个空结果进行缓存,但它的过期时间会很短,最长不超过五分...[ 查看全部 ]
04-23 16:12
2021-04-23 16:21
动态代理:当想要给实现了某个接口的类中的方法,加一些额外的处理。比如说加日志,加事务等。可以给这个类创建一个代理,故名思议就是创建一个新的类,这个类不仅包含原来类方法的功能,而且还在原来的基础上添加了额外处理的新类。这个代理类并不是定义好的,是动态生成的。具有解耦意义,灵活,扩展性强。动态代理的应用:1)Sprin...[ 查看全部 ]
04-14 14:28
2021-04-14 15:06
大屏幕实时数据可视化展示还可以考虑采用WebSocket技术来实现,WebSocket技术适合于解决此类场景的问题,另外也可以购买第三方服务解决此类问题。[ 查看全部 ]
04-13 13:53
2021-04-13 15:38
怎么实时把秒杀的结果反馈给用户,一般有两种做法:1、前端定时轮询后台结果;2、使用像Websocket这样的技术,服务器端推送结果给前台;[ 查看全部 ]