摘要:
延时队列,第一他是个队列,所以具有对列功能第二就是延时,这就是延时对列,功能也就是将任务放在该延时对列中,只有到了延时时刻才能从该延时对列中获取任务否则获取不到…… 应用场景比较多,比如延时1分钟发短信,延时1分钟再次执行等,下面先看看延时队列demo之后再看延时队列在项目中的使用: 简单的延时队列 阅读全文
posted @ 2018-03-07 22:47
BarryW
阅读(41917)
评论(1)
推荐(4)
摘要:
在多节点的项目中,经常要涉及到某些方法加锁的控制。而这个时候,简单易用的synchronized已经不能满足多节点的部署结构。 之前在项目中,用的比较多的是数据库的更新锁:for udpate。但是这个有个缺点,就是对于本来就容易出现瓶颈的数据库,造成了更大的压力。同时,如果是锁表的语句,同时表数据 阅读全文
posted @ 2018-03-07 22:41
BarryW
阅读(552)
评论(0)
推荐(0)
摘要:
项目中有些业务方法希望在有缓存的时候直接从缓存获取,不再执行方法,来提高吞吐率。而且这种情况有很多。如果为每一个方法都写一段if else的代码,导致耦合非常大,不方便后期的修改。 思来想去,决定使用自动注解+Spring AOP来实现。 直接贴代码。 自定义注解类: 这个注解方便我们标志那个方法需 阅读全文
posted @ 2018-03-07 22:40
BarryW
阅读(261)
评论(0)
推荐(0)
摘要:
之前在介绍Spring Redis进行存储的时候,都是通过RedisTemplate中的defaultSerializer,即JdkSerializationRedisSerializer。通过Jdk的序列化比较简单,但是有时候线上调试的时候通过控制台查看,完全看不出来存储了什么东西。而且在空间占用 阅读全文
posted @ 2018-03-07 22:39
BarryW
阅读(449)
评论(0)
推荐(0)
摘要:
摘要: 主要针对Dao层的一些数据库查询的操作,数据实时性不强,直接加入缓存。当缓存中有的时候,就使用缓存中的数据。这样的方法,最终仅仅使用一个注解实现。对于之前的hibernate二级缓存使用,比较陌生。比如是否支持Redis或者可以自己开发支持。是否支持针对部分需要加入缓存的方法配置,而不是所有 阅读全文
posted @ 2018-03-07 22:36
BarryW
阅读(566)
评论(0)
推荐(0)
摘要:
对于Redis脚本使用过的同学都知道,这个主要是为了防止竞态条件而用的。因为脚本是顺序执行的。(不用担心效率问题)比如我在工作用,用来设置考试最高分。 如果还没有用过的话,先去看Redis脚本的介绍,发送脚本,缓存脚本,发送sha1执行脚本,以及基本的lua脚本的语法。 1. Redis脚本的使用场 阅读全文
posted @ 2018-03-07 22:35
BarryW
阅读(633)
评论(0)
推荐(0)
摘要:
目前我所知道的Redistemplate里面,我没有使用到的就是管道。这个可以进行批量的读写。类似于jdbc的batch。还有就是Redis的集群部署。但是由于我业务里没有这种需求,所以没有使用无法给大家进行讲解。 遇到的问题有: 1.序列化器。 由于我是配置了全局唯一一个RedisTemplate 阅读全文
posted @ 2018-03-07 22:35
BarryW
阅读(145)
评论(0)
推荐(0)
摘要:
上一篇说了RedisTemplate对注解事务的支持,以及提供的序列化器。 事务需要开启enableTransactionSupport,然后使用@transactional注解,里面直接通过回调的connection,就不需要自己进行multi和exec的事务开启提交了。但是通过回调去获取conn 阅读全文
posted @ 2018-03-07 22:33
BarryW
阅读(441)
评论(0)
推荐(0)
摘要:
上一篇文章我们讲解了RedisTemplate的基本使用,通过RedisCallback来获得connection,然后去操作Redis。网上的教程,大部分也都是这样的操作。 这个类似于HibernateTemplate里面提供的executeWithNativeSession方法,是Java中的一 阅读全文
posted @ 2018-03-07 22:32
BarryW
阅读(380)
评论(0)
推荐(0)
摘要:
关于spring redis框架的使用,网上的例子很多很多。但是在自己最近一段时间的使用中,发现这些教程都是入门教程,包括很多的使用方法,与spring redis丰富的api大相径庭,真是浪费了这么优秀的一个框架。这里,我们就对比之前对spring orm中对hibernate的使用,来理解使用s 阅读全文
posted @ 2018-03-07 22:31
BarryW
阅读(338)
评论(0)
推荐(0)
摘要:
最近在开发的时候,发现之前APP客户端的一部分页面用的是webview交互,这些页面请求很多,打开一套试卷,将会产生100+的请求量,导致系统性能下降。于是考虑在最靠近客户端的Nginx服务器上做Redis缓存。综合了下网上对于php缓存的资料,经过一番改动,终于搭建成功。由于网上的是针对php的, 阅读全文
posted @ 2018-03-07 22:26
BarryW
阅读(347)
评论(0)
推荐(0)
摘要:
对于ActiveMQ消息的发送,原声的api操作繁琐,而且如果不进行二次封装,打开关闭会话以及各种创建操作也是够够的了。那么,Spring提供了一个很方便的去收发消息的框架,spring jms。整合Spring后,代码不仅变得非常优雅,而且易用性和扩展性更好。 废话不多说,直接开搞。 1. mav 阅读全文
posted @ 2018-03-07 22:19
BarryW
阅读(723)
评论(0)
推荐(0)
摘要:
最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢。最近几天研究了下,把自己所有看下来的文档和了解总结一下。 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件 阅读全文
posted @ 2018-03-07 22:14
BarryW
阅读(2150)
评论(0)
推荐(0)
摘要:
龙果支付系统是国内首款开源的互联网支付系统,其核心目标是汇聚所有主流支付渠道,打造一款轻量、便捷、易用,且集支付、资金对账、资金清结算于一体的支付系统,满足互联网业务系统的收款和业务资金管理需求。 主要特点: 1. 具备支付系统通用的支付、对账、清算、资金账户管理、支付订单管理等功能; 2. 目前已 阅读全文
posted @ 2018-03-07 19:53
BarryW
阅读(13366)
评论(0)
推荐(0)
摘要:
1. 商家开通支付 1.1 在用户信息页面添加用户,系统会自动生成对应的资金账户 1.2 添加支付产品 1.3 在支付产品列表添加支付方式,支付费率是支付系统用来计算商家手续费,单位:%,将支付产品上架 1.4 在用户支付配置页面添加支付配置信息,绑定已上架的支付产品 收款方式:如果是商家收款,则需 阅读全文
posted @ 2018-03-07 19:51
BarryW
阅读(2557)
评论(0)
推荐(0)
摘要:
前一段一直在研究支付宝的扫码支付,不得不说,支付宝的文档写的真是一个烂(起码在下刚开始看的时候是mengbi的)。文档上面的示例和demo里面的示例长的完全不一样。往往文档上面的例子很简单,而demo的代码写的很复杂,所以一开始就不知道该采用哪个代码,后来仔细看了一下demo的那些包里面的代码,发现 阅读全文
posted @ 2018-03-07 17:27
BarryW
阅读(2171)
评论(0)
推荐(0)
摘要:
一般来说,银行会提供两种支付途径:无跳转的快捷支付接口和带跳转的网银接口。前者在绑卡,支付的时候,不需要跳到银行页面上去处理,后者则需要在银行的网银页面上完成。显然前者对用户来说体验要好多了,用户流程不会被打断。快捷支付要求支付系统在本地保存用户的支付信息,如卡号,登记手机。系统要确保这些信息不被泄 阅读全文
posted @ 2018-03-07 15:17
BarryW
阅读(565)
评论(0)
推荐(0)
摘要:
支付网关前置 支付网关前置是对接业务系统,为其提供支付服务的模块。它是所有支付服务接口的集成前置,将不同支付渠道提供的接口通过统一的方式呈现给业务方。这样接入方就只需要对接支付网关,增加和调整支付渠道对业务方是透明的。 支付网关前置的设计对整个支付系统的稳定性、功能、性能以及其他非功能性需求有着直接 阅读全文
posted @ 2018-03-07 15:16
BarryW
阅读(1047)
评论(0)
推荐(0)
摘要:
导读: 在支付系统中,支付网关和支付渠道的对接是最核心的功能。其中支付网关是对外提供服务的接口,所有需要渠道支持的资金操作都需要通过网关分发到对应的渠道模块上。一旦定型,后续就很少,也很难调整。而支付渠道模块是接收网关的请求... 在支付系统中,支付网关和支付渠道的对接是最核心的功能。其中支付网关是 阅读全文
posted @ 2018-03-07 15:15
BarryW
阅读(1150)
评论(0)
推荐(0)
摘要:
思路 OSGi每个模块都有自己独立的classpath。如何实现这一点呢?是因为OSGi采取了不同的类加载机制: OSGi为每个bundle提供一个类加载器,该加载器能够看到bundle Jar文件内部的类和资源; 为了让bundle能互相协作,可以基于依赖关系,从一个bundle类加载器委托到另一 阅读全文
posted @ 2018-03-07 14:34
BarryW
阅读(1099)
评论(0)
推荐(0)

浙公网安备 33010602011771号