解决方案
文章平均质量分 95
「已注销」
在技术的世界里每日精进
展开
-
关于数据库和缓存一致性问题的思考
文章目录前言什么情况下会导致缓存不一致呢?先更新缓存,后更新数据库先更新数据库,后更新缓存先删除缓存,后更新数据库串行执行并发执行先更新数据库,后删除缓存串行执行并发执行解决方案设置缓存超时时间分布式锁(读写串行化)异步补偿人工处理感谢前言在项目中,因为缓存具有高性能、高并发的特性而被大家广泛的使用。但是常常我们会遇到一个问题:当需要更新数据库的时候怎么保证缓存里的数据和数据库里面的数据始终保持一致呢?这个问题就是著名的数据库和缓存的双写一致性问题为了不让内容显得空洞,帮助一些没有对此问题没有一点直原创 2022-03-25 16:07:09 · 1824 阅读 · 0 评论 -
基于CAS思想实现的前后端分离单点登录
文章目录前言在下的遇到的问题前后端分离场景重定向问题安全问题流程设计代码实现服务端客户端前言SSO(Single Sing On)单点登录是一种架构,一种思想。CAS(Center Authentication Server)中心授权服务 是一个开源的协议,是SSO的一种具体的实现。当然SSO还有其他的实现,比如Cookier同域名的场景。Auth是一种授权协议,不涉及具体代码,只是表示一种约定的流程和规范。Oauth协议一般是用于用户决定是把自己在某个服务上的资源(头像、照片等资源)授权给第三方原创 2021-09-06 15:18:18 · 1084 阅读 · 0 评论 -
延时通知解决方案
文章目录前言各种实现基于JDK的DelayQueue基于Redis的Key过期事件通知基于RabbitMQ的延时队列总结前言这段时间项目中遇到了客户提出的新的功能,需要当用户参加志愿者活动的时候,在改活动开始的前5分钟和后10分钟推送一条微信消息到用户的微信上。其实这样的延时操作的场景还有很多,比如常见的电商系统里面的30分钟订单为支付就关闭这种功能。然后我进行技术方案的调研,发现目前能满足该业务场景方案主要有以下几种:轮询数据库表 ,构建消息之后存放到数据库中,然后开启一个每分钟执行定时任务扫描原创 2021-08-31 22:17:03 · 741 阅读 · 0 评论