- 博客(11)
- 收藏
- 关注
原创 缓存穿透、缓存击穿、缓存雪崩区别
一、读取缓存流程一般我们读取缓存数据的流程:先查缓存是否存在对应key的数据,有则直接在缓存取返回,如果不存在或者key过期时则读数据库; 从数据库读是否存在数据,有则更新缓存并返回,没有则返回null二、缓存穿透查询一个缓存中和数据库都不存在的数据,如果频繁进行这种操作将会对数据库造成较大的压力,进行这种操作很大可能是攻击者。建议:可以采用设置空值-key的缓存并设置较...
2019-10-11 20:53:00
227
原创 Mysql需要建索引、不适合建索引的情况;索引失效的情况
需要建立索引的情况经常用于搜索的列; 经常用于连接查询的列; 经常需要排序的列; 经常用于where子句的列上。不适合建立索引的情况查询中很少使用的列; 对于很少数据值的列,例如性别; 对于数据量很大或者很小的列如text, image和bit不适合建索引; 修改的性能大于检索的性能时不适合建索引。索引失效的情况组合索引中不能有列为null,如果存在则该列索...
2019-06-04 09:11:59
1973
1
原创 JAVA锁 总结
一.自旋锁 定义:是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。 优点:自旋锁不会使线程状态发生切换,一直处于用户态,即线程一直都是active的;不会使线程进入阻塞状态,减少了不必要的上下文切换,执行速度快。 缺点:如果某个线程持有锁的时间过长,就会导致其它等待获取锁的线程...
2019-05-31 17:09:36
218
原创 Java 微信支付接口(统一下单,异步回调,订单退款,取消订单)
一.准备工作APP绑定微信商户平台获取商户id(mchID)、证书(商户后台下载)、支付签名密钥(商户后台设置api密钥)、退款签名密钥(商户后台设置api密钥ipv3)等1.导入微信支付SDK<!--微信支付SDK--><dependency> <groupId>com.github.wxpay</groupId> <ar...
2019-04-17 18:43:00
7246
5
原创 单语句SQL查询(nba连续夺冠、用户连续登录)解决思路
用一个例子做为讲解:查询NBA球队在此期间连续获得冠军的有哪些,其连续的年份的起止时间是多少?查询结果如下:# 创建表create table if not exists nba( team VARCHAR(10), y int(4));# 插入数据insert into nba(team,y) values('活塞',1990),('公牛',199...
2019-03-15 11:01:19
2844
原创 双重检查机制-单例模式
双重检查机制-单例模式在保证线程安全的情况下,提高同步效率public class Singleton { private static volatile Singleton singleton; private Singleton() {} public static Singleton getInstance() { if (single...
2019-01-21 16:04:13
688
原创 深入理解java synchronized使用方式与底层原理
synchronized简介synchronized是java的关键字,用于修饰方法(或代码块)来实现同一时间只有一个线程可以访问该方法(或代码块)。synchronized的三种使用方式1.修饰实例方法:该修饰本质同步的是对象,即当线程A执行method方法,其他线程无法访问该对象的任意同步方法。/*同步实例方法 同步对象*/ public synchronized v...
2018-12-03 12:23:46
165
原创 Java Monogo副本集allowDiskuse操作导致cursor not find
mongo管道读取数据时,有一个内存限制,当查询数据量过大是会报errmsg:Exceeded memory limit for $group,but didn't allow external Sort.Pass allowDiskuse:true的错误,这个可以通过增加allowDiskuse:true的配置来解决这个问题;然而问题并没有结束,当从原先的单机开发环境部署到副本集的mon...
2018-09-04 17:31:09
1330
1
原创 Java MongoDb分组的实现、动态条件过滤、模糊查询
本章主要讲mongoDb的分组(aggregate)等部分问题在java中的实现,如下:1.分组的实现2.动态设置过滤条件3.模糊查询 1.分组的实现我使用的mongo的java驱动包,pom.xml文件需添加依赖: <dependency> <groupId>org.mongodb</groupId> ...
2018-07-19 14:11:33
6705
7
原创 MongoDb 多条件以及多重分组聚合的实现
最近在针对一个统计分析的业务实现因为需要应用到多条件聚合以及多重聚合纠结了一段时间,翻阅了许多博客终于找到了解决方案,这里总结一下;db.getCollection('test').aggregate([ {'$match':{'test_a':{$eq:0} } }, //过滤条件 {'$group':{'_id':{user_i...
2018-07-18 15:11:54
19443
2
原创 mysql 查询数据显示序号(含分页问题的解决方案)
在查询mysql时可能存在需要动态展示序号的情况,可使用一下sql进行解决:SELECT @ROW :=@ROW + 1 AS NO, pt.*FROM pub_test AS ptLEFT JOIN (SELECT @ROW := 0) r ON 1 = 1;这种情况遇上分页时会出现每次翻页都从1开始重新计算,这种情况可以使用分页偏移量作为开始计算数,解决方案...
2018-07-16 20:28:12
4794
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人