简介
在高并发场景下,像访问次数以及访问记录保存是非常影响性能的,每一次详情页面读取就会产生一条 update 和 insert 。所以需要一个持久化缓冲机制,将高频的数据库写入操作放到Redis去缓冲,设定一个延迟时间,到时间后才去持久化到数据库。
如果项目已经集成Redis,则可以很方便地通过简单代码就实现数据的缓冲,极大程度增加系统吞吐率和响应速度。
(本文介绍的是一个轻量级的实现,还有一些细节没有处理,只是为了满足项目当前需求。如果对数据持久化的可靠性以及到达顺序有高要求,则需要考虑用消息队列kafka或者rabbitmq来实现)
使用效果
Redis持久化缓冲器源码
package outservice.redis.buffer;
import java.io.Serializable;
import java.util.Set;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.SetOperations;