uu们知道redis和mysql怎么保证强一致性吗,我说了一个延时双删一个binlog,面试官说不能保证。然后给我解释了一下应该怎样保证,但有点紧张没听懂。
全部评论
延时双删和binlog是保证最终一致性,强一致性就用分布式事务吧
10 回复 分享
发布于 03-27 09:40 新疆
强一致性确实没法吧,最简单想的就是2PC的方式,把Redis和MySQL都当做参与者,后端当做协调者,两阶段都提交完,再返回。现实中没人会想这么干吧,毕竟Redis是当缓存的
5 回复 分享
发布于 03-26 12:21 辽宁
强一致性一般都是使用事务吧
2 回复 分享
发布于 03-26 19:51 山东
写完数据库,对对应的缓存加锁,这个时候缓存不能被读,然后更新完缓存了再释放锁。
2 回复 分享
发布于 03-26 13:43 浙江
使用redission提供的读写锁吧配合旁路缓存模式
1 回复 分享
发布于 04-13 19:27 云南
这么简单,一把互斥锁解决了。如果问你分布式怎么解决,那就走分布式事务那一套。
1 回复 分享
发布于 03-30 17:13 上海
这算是分布式事务了,分布式事务怎么做到强一致性?一般都是最终一致性吧?
1 回复 分享
发布于 03-29 09:53 浙江
延迟双删也不能保证强一致性,延迟时间控制不对或者此时有三个以上线程就很可能造成数据不一致,,binlog是允许有一定时延,可保证最终一致性,,想要强一致,就要降低性能,就是上锁,用读写锁--菜鸟的看法
1 回复 分享
发布于 03-28 17:04 安徽
m
1 回复 分享
发布于 03-28 12:08 广东
redis和MySQL的同步策略里有写穿写回和旁路缓存,写穿的概念就是强一致吧
1 回复 分享
发布于 03-26 13:01 美国
你说的这个是最终一致性,友友。
点赞 回复 分享
发布于 04-22 12:38 上海
m
点赞 回复 分享
发布于 04-16 20:42 福建
m
点赞 回复 分享
发布于 04-14 19:52 广东
接好运
点赞 回复 分享
发布于 04-06 15:58 北京
m
点赞 回复 分享
发布于 04-04 01:32 江苏
mark
点赞 回复 分享
发布于 03-26 20:12 上海
甄汇?
点赞 回复 分享
发布于 03-26 13:16 河北

相关推荐

04-26 15:09
已编辑
美团_测试开发(准入职员工)
面试官是女生,没开摄像头,进来先介绍技术栈,是否接受php整体30min1. Linux命令,文本处理;只问了我是否熟悉,我说熟悉,没深挖了2. 查看正在运行Java的进程;netstat、lsof,面试官回复ps命令呢,我说也用过,和lsof差不多,都可以查看3. 有没有用过MySQL集群,如果部署在单机,有没有保证可用性;因为是单体,评估了连接数,并且用了redis减轻压力进行兜底4. 提了一嘴RocketMQ,问我是用过的对吧;我说是的,没深挖5. MySQL索引结构;为什么要用B+树;聚簇索引和非聚簇索引6. 唯一索引是聚簇还是非聚簇?瞎猜了说是非聚簇,面试官让展开说说,回答是唯一索引只需要判断有没有重复,没必要用到聚簇索引,非聚簇够了。7. WAL技术?没听过,面试官说是数据库当中的预写日志,undo,redo,然后我回答了binlog,redolog,undolog8. CPU突然变高了怎么排查?top命令先定位进程,如果是程序,查看日志,看看是不是死循环了,定位后去修改;感觉没答好。9. springboot注解,MVC机制原理,回答了是通过拦截器拦截所有请求,根据URL去映射Controller10. 计网 浏览器输入URL整体流程11. 大整数相加,不用加法;不会12. 合并有序链表;ok13. 场景题,抖音的点赞,怎么设计,用到了哪些组件,表结构14. 两个文件,一个50w的URL,一个500,找到相同的URL15. 反问,能否提前实习
查看15道真题和解析
点赞 评论 收藏
分享
评论
11
66
分享

创作者周榜

更多
牛客网
牛客企业服务