- 博客(6)
- 资源 (7)
- 收藏
- 关注
原创 Redis 缓存一致性、热点key方案总结和看法
1,缓存一致性问题:1.1 cache aside 模式:先改数据库在失效缓存,极端情况下可能出现不一致,完全可以忽略,或者如果失效缓存失败,可以记录下失败日志,事后恢复。1.2 延时双删:失效缓存 --> 改数据库-->延时一定时间 -->失效缓存,如果高并发场景下,频繁失效缓存,导致2倍的请求落到MySQL里面,性能损失严重。缓存的语义就是允许短暂的数据不一致。如果业务需要一定要读到最新的数据,则完全可以在写操作的时候,提前对缓存设置一个marker标记,后续的读请求自定判
2021-05-18 15:07:53
389
原创 Facebook关于缓存一致性的论文解读:Scaling Memcache at Facebook读书思考
最近在读Facebook关于缓存的一个论文,发现有好多很好的创意,记录下:1,缓存一致性问题:Facebook采用Cache Aside Pattern ,如果数据有变更,先更新数据库,在过期缓存,这种是比较常用的方案,并没有保证数据库和缓存的强一致,个人认为是合理的。只要保证强一致,必然会牺牲掉性能,这是无法避免的,网上的各种匪夷所思方案说实在的有点舍本逐末了。耗子叔也在一篇文章中论述了关于缓存一致性的几种方案:Cache Aside Pattern(先写数据库,在过期缓存)Read Thr.
2021-04-18 09:05:48
661
原创 shiro的sessionmanager
一般shiro的securityManage会配置一个sessionMange。对这个配置有点疑问,特意学习了下。<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="authenticator" ref="authenti...
2018-06-12 14:50:57
1906
1
原创 springboot+mybatis+springsession+thymeleaf例子
这是我的一个小的sample。仅供大家参考。自己试验的可以成功的。另外如果没有用springboot。可以参考另外一个springsession项目。也是在相同的github地址。代码在码云。https://gitee.com/liuhq1990/springboot/tree/master注释说明都在代码里面。确定能用,走了好多坑,花费了2天时间。下面是mysql数据库脚本:redis就需要自己...
2018-06-08 17:21:17
361
原创 Mybatis解析xml简单流程和执行sql的简单流程
首先是我自己画的一个简单的加载xml的流程图:整个主要过程还是比较清晰的。主要的信息都封装在一个Configuration中。单个sql信息封装在MappedStatement中。下面是执行sql的简单流程:这里有一个重要的知识点。就是通过动态代理进行调用。下次在讨论...
2018-05-25 14:37:43
2230
转载 jdk常用命令详解
jpid显示当前服务器上正在运行的java虚拟机的进程号。jstatjvm虚拟机执行情况的命令,常用来分析垃圾回收和jvm内容使用情况。 1. jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。 其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。...
2018-05-25 09:45:54
430
nginx构建直播流的模块
2019-04-15
java调用串口工具包
2019-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人