【使用redis和memcached缓存数据时,数据表和缓存数据不一致 _redis _memcache 】 | IT修真院·坑乎
咨询电话 : 010-59478634
切换导航
首页
我的提问
我的回答
我的点赞
消息通知
个人主页
×
提示
尚未登陆,前往官网登陆?
×
提示
尚未登陆,前往官网登陆?
使用redis和memcached缓存数据时,数据表和缓存数据不一致
我也踩过这个坑(
1
)
已统计您的踩坑,无需重复点击
回答(1)
redis
memcache
详细描述
使用redis和memcached缓存数据时,在浏览器对数据进行删除增加,学员列表数据没有任何改变,也就是说缓存的学员列表没有变化,但是数据库中的数据都改变了,怎样才能使缓存的学员列表数据和数据库一致。
错误截图
源码
@Override public List<Student> listStudent() { List<Student> students = (List<Student>) MemcachedUtil.get("students"); if (students == null) { students = studentMapper.listStudent(); MemcachedUtil.set("students", students, 60 * 60 * 24); } return students; } @Override public int add(Student student) { int id = studentMapper.add(student); if (id == 1) { MemcachedUtil.add("student" + id, student, 60 * 60 * 24); logger.info("student" + id); } return id; } //删除学员数据 @Override public int delete(int id) { int a = studentMapper.delete(id); if (a == 1) { MemcachedUtil.delete("student" + id); logger.info("student" + id); } return a; }
编辑于2025-04-13
时间排序
热门排序
[武汉|结业弟子]JAVA-柯诗阳
0
看你的代码逻辑先从memcache缓存中获取students如果student为空才从数据库获取数据,那缓存中就一直都有之前第一次存进去的数据,而不是更新之后的。【解决方法】清理redis或memcache缓存
查看全部>
编辑于2019-11-02
首页
1
末页
去第
页
确定
Copyright ©2015 北京葡萄藤信息技术有限公司 All Rights Reserved | 京ICP备15035574号-1
复制链接
新浪微博
微信扫一扫