摘要: 说明:使用了注解的方式进行对接口防刷的功能,非常高大上,本文章仅供参考 一,技术要点:springboot的基本知识,redis基本操作, 首先是写一个注解类: 拦截器中实现: 注册到Spring Boot中 在Controller中加入注解 作者:CS打赢你 原文:https://blog.csd 阅读全文
posted @ 2019-03-20 13:27 如.若 阅读(1311) 评论(0) 推荐(0) 编辑
摘要: ThreadLoacal是什么? 有些伙伴喜欢把它和线程同步机制混为一谈,事实上ThreadLocal与线程同步无关。ThreadLocal虽然提供了一种解决多线程环境下成员变量的问题,但是它并不是解决多线程共享变量的问题。那么ThreadLocal到底是什么呢? API是这样介绍它的: This 阅读全文
posted @ 2019-03-20 13:04 如.若 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但是随着业务量越来越大,无论是性能上还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好的服务。 我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如www.taobao.com 阅读全文
posted @ 2019-03-20 12:26 如.若 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 利用 JTA 处理事务 什么是事务处理 事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity )、一致性 ( Consistency )、隔离性 ( Isolation ) 和持久性 ( Durabilily )。关于事务最经典的示例莫过于信用卡转账:将用户 A 账 阅读全文
posted @ 2019-03-20 11:26 如.若 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还 阅读全文
posted @ 2019-03-20 02:01 如.若 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 前言 在《透彻理解Spring事务设计思想之手写实现》中,已经向大家揭示了Spring就是利用ThreadLocal来实现一个线程中的Connection是同一个,从而保证了事务。本篇博客将带大家来深入分析ThreadLocal的实现原理。 ThreadLocal是什么、有什么、能做什么? Thre 阅读全文
posted @ 2019-03-20 01:41 如.若 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 前言 事务,是描述一组操作的抽象,比如对数据库的一组操作,要么全部成功,要么全部失败。事务具有4个特性:Atomicity(原子性),Consistency(一致性),Isolation(隔离性),Durability(持久性)。在实际开发中,我们对事务应用最多就是在数据库操作这一环,特别是Spri 阅读全文
posted @ 2019-03-20 01:29 如.若 阅读(228) 评论(0) 推荐(0) 编辑