会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
zslm___
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
···
35
下一页
2019年12月25日
DoubleCache
摘要: DoubleCache 指的是本地+redis两份缓存模式 本地缓存过期之后从redis读取新数据 redis缓存过期时,从业务里读取新数据. 设计原理: 利用 loadingCache的过期刷新来实现异步线程自动刷新,而不阻塞当前数据返回 后期优化: 远程刷新时,增加锁机制来避免多次调用业务数据.
阅读全文
posted @ 2019-12-25 16:58 zslm___
阅读(269)
评论(0)
推荐(0)
2019年12月2日
redis的hmset乐观锁的实现
摘要: 1.lua脚本(集成实现了乐观锁,hmset ,expire等) 2.eval直接调用测试 传入参数 keysCount: 1 key: key11 version: 0 ttl: 6000 field1: icbc field2:wh 3.java代码 4.调用
阅读全文
posted @ 2019-12-02 20:21 zslm___
阅读(1470)
评论(0)
推荐(0)
2019年11月16日
根据配置RedisProperties自动获取RedisConnectionFactory
摘要: 1.增加依赖 1. org.springframework.boot.autoconfigure.data.redis.RedisProperties 会根据配置自动加载为一个bean 3.使用方式 4.其他类型的获取 5. key类的操作
阅读全文
posted @ 2019-11-16 10:17 zslm___
阅读(22703)
评论(0)
推荐(0)
2019年11月11日
redis限流器的设计
摘要: 1.定义注解 2. 切面方法 3.调用事例
阅读全文
posted @ 2019-11-11 15:34 zslm___
阅读(569)
评论(0)
推荐(0)
2019年11月5日
使用HystrixCommand封装http请求
摘要: 1.引入依赖 要排除hystrix-core里的archaius-core,否则报错 2.定义HttpHystrixCommand类 3.测试 4.正常的返回如下 INFO HttpHystrixCommandTest - 请求成功 5.异常(增加代码Thread.sleep(3000);)的返回如
阅读全文
posted @ 2019-11-05 10:52 zslm___
阅读(1032)
评论(0)
推荐(0)
2019年10月23日
自定义的最简单的可回调的线程任务CallbackableFeatureTask(模仿google的ListenableFutureTask)
摘要: 1.使该Task继承Callable,Runable 2.测试代码 结果如下: Hello China!Hello China!使用线程池返回结果是:Hello China! 这里仅仅做一个教学Demo 后期可以优化的点: 实现Future<V>接口,继承FutureTask 类等
阅读全文
posted @ 2019-10-23 12:24 zslm___
阅读(410)
评论(0)
推荐(0)
2019年7月26日
通用的规则匹配算法(原创)(java+.net)
摘要: 1.java里可以使用Spring的 Spel或者Google的Aviator 如果使用 Aviator 则添加以下依赖 <dependency> <groupId>com.googlecode.aviator</groupId> <artifactId>aviator</artifactId> <
阅读全文
posted @ 2019-07-26 13:36 zslm___
阅读(1700)
评论(0)
推荐(0)
2019年7月3日
redis缓存切面实现(支持缓存key的spel表达式)
摘要: 1.定义注解 2.定义切面 3.引用代码 4.测试如下.(验证获取普通POJO,List,Map的返回结构) 5.辅助代码 6.备注 这只是一个实现上的demo,如果要用到生产,可能还需要做以下改进 1.切面代码里写死了JedisCluster,这里要修改成一个接口 来支持单机/哨兵/集群 等 2.
阅读全文
posted @ 2019-07-03 12:40 zslm___
阅读(3023)
评论(0)
推荐(0)
2019年5月27日
使用join和CountDownLatch来等待线程结束
摘要: 1.join方法的实现 join 某个线程A,会使当前线程B进入等待,直到线程A结束生命周期(isAlive()==false) ,或者达到给定的时间. 在此期间内当前线程B处理Waiting(调用 wait()方法),而不是线程A. join方法本身只检测线程A的状态,而不影响线程A的执行. 测试
阅读全文
posted @ 2019-05-27 10:20 zslm___
阅读(915)
评论(0)
推荐(0)
2019年5月24日
使用Unsafe来实现自定义锁
摘要: 1.使用Unsafe类 2.声明简单锁 3.竞争锁失败的进队列 3.调用如下
阅读全文
posted @ 2019-05-24 18:26 zslm___
阅读(524)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
35
下一页
公告