- 博客(36)
- 收藏
- 关注
原创 on where 的使用
外连接: 如果想对右表进行限制,则一定要在on条件中进行, 对左表进行过滤必须用where 内连接: 随便 都可以 这里是引用 https://zhuanlan.zhihu.com/p/85856388?utm_source=wechat_session&utm_medium=social&utm_oi=957606644893331456&utm_campaign=shareopn ...
2021-01-06 11:40:30
300
原创 505错误
入参:ZKScore.Request(pwd=zjw0501 1, zkzh=2091530852, xm=朱静雯) java.lang.Exception: 调用失败, responseCode=505 像这样的参数,值里面带空格,get URL拼串的时候,会报505,所有值一定要编码
2020-07-28 19:00:55
1116
原创 多字段分组
“group by 字段列表” 表示根据后面的字段来分组,如果只有1个字段,那只是根据这个字段的值来进行一次分组就可以了;若后面有多个字段,那表示根据多字段的值来进行层次分组,分组层次从左到右,即先按第1个字段分组,然后在第1个字段值相同的记录中,再根据第2个字段的值进行分组;接着第2个字段值相同的记录中,再根据第3个字段的值进行分组…依次类推。 ...
2020-06-10 09:33:52
2471
原创 linux jdk 环境变量修改的几种方式
1、连接方式: ln -s /usr/local/jdk1.8.0_161/bin/java /usr/bin/java ln -s /usr/local/jdk1.8.0_161/bin/javac /usr/bin/javac 2、修改etc/profile ,export环境变量 3、启动命令指定JDK :nohup /usr/local/jdk1.8-xxx/bin/java -jar ...
2020-05-08 16:22:28
488
原创 redis集群 mysql集群简单理解
redis集群是共享的 不同节点数据不一样 有槽位 mysql集群不共享 每个节点数据一样。 集群节点奇数个,主从,主挂了 从节点上。主写从读。redis集群每个节点有主从,mysql集群就是主从。 ...
2020-03-26 09:48:54
485
原创 redis 值类型一致的问题
redis 没有映射,取出来都得强转类型,所以不同的渠道,set值的时候,要保证类型一致。 (map等没问题,主要是自定义类,包名、类名 都得一样)
2020-03-01 10:31:18
329
原创 redis操作库存 再同步到数据库里
redis单线程的,线程安全,在redis里操作库存,完了之后把库存同步到数据库里,mq同步。 redis 非阻塞的,单线程也很快。 否则,在这个记录基础上 多线程修改,不安全 如,在100基础上,两个线程一块改-1,都变为99,应该是98才对。 这个就跟原子性一样,i-- 不是原子的。修改记录也是。 redis原子性? ...
2020-02-27 10:26:26
3268
1
原创 mq浅显理解
消息是数据,topic是业务, 这个消费者 监听这个 保存topic,有消息了就 保存数据。 那个监听 修改topic,有消息了就 修改数据。
2020-02-26 09:33:57
194
原创 排它锁 共享锁 。RR的问题
for update 只能读 不能改 不能加锁 lock in share mode 只能读 不能改 可以加共享锁 不能加排他锁。 不同节点 同身份证 不好锁。 不是同时判断,有锁的,是因为 后面一个没读到前一个在数据库里的操作结果,导致以为还能插,就重复了,比如,rr 入库慢。关键 插完了 之前慢的还插,就重复了。rr就是另一个事务已经插了 现在的事务又插。 ...
2020-02-20 11:16:16
265
原创 利用Mq、观察者模式,短信发送逻辑
生产者 生产 消费者消费 回调函数里,往被观察者里放消息(观察者监听到了,根据消息类型,选择模板发送短信内容出去),随后再把短信发送结果当成消息 再生产到mq里。 消费者是在message-server里执行的。 生产者在新账号应该。 ...
2020-02-06 10:18:43
3023
转载 关联字典表,用外连接还是内连接
总结: 根据自己的期望,如果需要严格比照,不要用 LEFT JOIN。 如果需要显示全部记录,使用 LEFT JOIN 安全起见,可以用外连接,否则觉得字典肯定全,那就用内连接。 (或者可以,先确保 字典全。字典理应 全。) ...
2020-01-08 14:59:04
715
原创 null安全判断 经验
———————— if (list !=null && list.size()>0 ) 为有值, if (list ==null || list.size()<=0 ) 为没值, 无论哪种情况,判断时候,null都放前面,对象放后面,这样,要想到后面,可能产生空指针的地方,肯定要先经过前面。 在与的情况下, 前面true 才能到后面 即不为null 在或的情况下,前面f...
2019-12-27 08:54:08
534
原创 做修改功能判断关键字重复:
不判断关键字改了: 去排除本身的数据里看,不重复就更新,(会导致关键字没改也看重复) 判断关键字改了:改了才做重复校验(多一次查老数据查询,或者前端带来old数据) 做修改功能判断关键字重复: 1、不管改没改关键字 都去做重复性校验(没改关键字也做) 2、关键字改了才做重复性校验,(多一次查老数据查询,除非前端带来old数据) 重复性校验: 在排除本身的数据里,看关键字是否重复。 注:最好要排除本...
2019-12-26 10:36:33
1011
原创 建行退款隔天退不了逻辑
支付金额>=退款 才能退款 支付<退款 退款-支付 的部分 是退不了的 退36 ,今天进40 ,退完后还进4, 再退40,就只能退4,剩下36退不了 退账跟进账对应起来,先有进才有退,但是昨天的进跟今天的退对不起来,所以隔天退不了。(简单说,每天不能出现负账) ...
2019-12-25 15:27:18
2268
转载 在left join语句中,左表过滤必须放where条件中,右表过滤必须放on条件中,这样结果才能不多不少,刚刚好。
https://developer.aliyun.com/article/718897
2019-12-18 11:06:58
2995
2
原创 商品-商品订单-支付订单
商品,商品订单有应缴,根据商品订单下支付订单,实缴需要大于应缴,支付回调改商品订单实缴,支付时间。改支付订单 支付时间等。 支付订单实缴在支付时候确定,应缴在创建时候确定,应缴不会改动。 支付分为 初次支付,继续支付(修改支付金额,支付方式)。 应缴不能改,原因有一个未支付订单有之前的应缴,现在新应缴 按哪个呢?其实可以按沉淀下来的应缴来,或者可以取消了。这样会导致一个缴费单 对应多个支付订单,不...
2019-12-05 11:50:40
2321
原创 重复提交处理
可以在进入前端页面时先生成一个token存到session种并返回给前端页面,前端页面提交,在后台获取前端页面提交的token值,重复提交有三种情况: 1.客户端token(页面提交的token)不存在,这种情况可能是直接刷新提交页面造成 2.服务器端token不存在,这种情况可能是用户从提交页面在浏览器返回后再提交 3.服务器token与客户端token不一致 通过服务器token与客户端tok...
2019-12-03 10:04:15
305
原创 return的使用规则
if(正确){ //代码A } 错误就不执行,这种方式错误太安静,不知道错误的情况,比如参数为空这种错误,需要告诉调用者,所以下面方式好 if(错误) retun 错误结果; //代码A ...
2019-11-28 17:04:32
541
原创 支付创建本地订单
初次支付-创建本地订单,返回订单号-调渠道支付,传本地订单号,渠道会创建自己的订单 继续支付-更新本地订单,(更新新的订单号,更新实付金额)-调渠道支付,传新的本地订单号,渠道会创建自己的订单(继续支付几次,就创建几次)。 为什么继续支付要用新的订单号呢,如果继续用原来的订单号,可能会存在失效问题,因为渠道里有这个订单号了,可能会验证失效。不如索性每次都是新的订单号,在渠道那里生成新的订单,就是渠...
2019-11-22 17:23:54
342
原创 缴费单缴费的问题随想
不改就没问题 改的话, 方案一,支付中、已支付 不让改。 方案二,可以改,支付的时候再去读最新的价格,但是不行,支付宝平台不会调本地系统获取最新价格的。比如支付宝输入密码的时候,要支付时候,不会读取本地系统的。 方案一 最好。 导入时候 以数据库为准 ,没有的就新增,有的就不动。 或者,只要有一条有 就全部回滚。 支付的时候 ,肯定有本地订单了 那缴费单就是支付中,不给改的。 支付时候把缴费单锁...
2019-11-19 09:21:10
502
原创 一套公私钥加解密,信封加密流程(与HTTPS类似,证书即公钥 RSA 服务器生成,浏览器生成随机AES秘钥)
服务端生成RSA公钥 以及有效期, 放在redis里。会每天变化 前端获取他们 ,再生成随机AES秘钥 加密数据,再用公钥加密AES秘钥,把加密后的数据, 以及有效期请求后台。 服务端先获取当前redis里的公钥有效期,如果不等于传来的有效期,证明过期了。 否则, 服务端用RSA私钥解密AES,再用AES解密数据。 简单流程:后端生成一对公私钥,前端公钥加密,后端私钥解密。 过期简单来说, ...
2019-11-15 10:51:23
892
2
转载 api - API接口签名和授权的过程 auth
授权的原理: 对于WEB页面来说, 需要 “用户名” + "密码" 对于API来说, 就是需要 "公钥" + “私钥” ( 关键在这里) 用户名 = 公钥 , 密码 = 私钥 至于把 用户名( 例如 jim@starcraft.com) 换成 公钥(例如 a1b2c3d4 ) 的原因, 可能就是不希望被人网络抓包的时候,知道 当前的连接,对应的是哪个用户名 当前连接: api.coiex.i...
2019-10-10 16:47:37
4125
原创 消息中心,推送消息逻辑(百度)
launchConfig - 创建queueDispatcher,调其init-method: start- 起线程- 在线程里死循环getMsg,–再放线程池里,再发送 都是同一个消息队列,linkedBlockingQueue(由spring管理,单例) , set 和 get set时候,起线程池往queue里add ...
2019-06-27 10:22:24
1444
原创 oracle mysql 一点区别
oracle , 默认事务不自动提交,默认隔离级别:读已提交 mysql, 默认 事务自动提交, 默认隔离级别:可重复读 mysql 更简单点,傻瓜化点
2019-06-21 15:16:23
138
原创 事务,可重复读
循环里不能开启事务:循环里 下一次执行很快 比 释放连接快 ,也就是说没连接了。 可重复读 读的旧数据 更新时候 发现版本低 就获取新的 再更新. mysql可重复读的原理: ...
2019-06-21 10:59:58
692
原创 有return就不要else了
有return就不要else了: 边界角度:return相当于边界 else也是。 块角度:return上下两块 else 也是。两者一样效果。 异常角度:也可以理解。先抛 剩下正常。 ~~~ 也可以有else 相当于并列效果。 ...
2019-06-18 14:44:34
3429
原创 Unnecessary 'else' after 'return'. (No-else-return) . return 后面 不要有 else.
https://stackoverflow.com/questions/46875442/unnecessary-else-after-return-no-else-return https://cloud.tencent.com/developer/section/1135678
2019-05-16 11:48:44
9566
原创 记一次 httpclient调用的问题
情景: 调远程接口,Postman已测试通过,在代码里用httpclient的 get/post方法 都不能调用成功(NoHttpResponseException,xxhost failed to respond),排除白名单问题,且发现用JDK的HttpURLConnection可以调通,但是只能GET方式调通。 处理方法:不知道为什么httpclient不行,怀疑远程服务器不支持? 只能通过...
2019-05-07 16:54:05
1324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅