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