后端技术

【延时任务处理、订单失效】RabbitMQ死信队列实现

订单失效问题订单失效问题比较麻烦的地方就是如何能够实时获取失效的订单。对于这种问题一般有两种解决方案:定时任务处理,延时任务处理定时任务处理用户下订单后先生成订单信息,然后将该订单加入到定时任务中(30分钟后执行),当到达指定时间后检查订单状态,如果未支付则标识该订单失效。 定时去轮询数据库/缓存,看订单的状态。这种方式的问题很明显,当集群部署服务器的时候需要做分布式锁进行协调,而且实时性不高,对数据库会产生压力延时任务处理当用户下订单后,将用户的订单的标识全部发送到延时队列中,3.
阅读全文

解决druid新版本报错 discard long time none received connection.

导航问题现象产生原因解决办法一点反思问题现象本人使用的druid版本为1.2.1,再开发时,console控制台总是时不时打印一段:discardlongtimenonereceivedconnection.jdbcUrl:xxxx看着就很蛋疼,于是本着非主流不负责的态度就上网寻求问题原因????产生原因网上搜罗了一圈,也算知晓了问题所在,查看源码:在com.alibaba.druid.pool.DruidAbstractDataSource,if(valid&a
阅读全文
数据库

字节面试:知道MySQL 的 NULL 值是怎么存放的吗?

如果你知道MySQL一行记录的存储结构,那么这个问题对你没什么难度。如果你不知道也没关系,这次我跟大家聊聊MySQL一行记录是怎么存储的?知道了这个之后,除了能应解锁前面这道面试题,你还会解锁这些面试题:MySQL的NULL值会占用空间吗?MySQL怎么知道varchar(n)实际占用数据的大小?varchar(n)中n最大取值为多少?行溢出后,MySQL是怎么处理的?这些问题看似毫不相干,其实都是在围绕「MySQL一行记录的存储结构」这一个知识点,所以攻破
阅读全文
数据库

肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富,建议收藏+三连好评!

前言在下面所有的讲解中,我将会以基本语法,案例,联系形式讲解,从而加强对每一个语句的使用和认识。我就不用贴图方式返回给大家结果了,实在占空间布局。本篇文章是笔者整理了整整一个通宵才写出,希望大家三连好评,谢谢。当然,拥有本篇文章,你将会完全整我mysql的所有语句使用,不再用去购买或者杂乱学习。MYSQL最重要的命令SELECT从数据库中提取数据UPDATE更新数据库中的数据DELETE从数据库中删除数据INSERTINTO将新数据插入数据库CREATEDATABASE创建
阅读全文

Java中printf的用法

printf的格式控制的完整格式: 常见的格式 %:表示格式说明的起始符号 -:有-表示左对齐输出,如省略表示右对齐输出 0:有0表示指定空位填0,如省略表示指定空位不填 m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位 l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为sho
阅读全文

sql注入语法汇总

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令 SQL语法允许数据库命令和用户数据混杂在一起的。如果开发人员不细心的话,用户数据就有可能被解释成命令, 这样的话,远程用户就不仅能向Web应用输入数据,而且还可以在数据库上执行任意命令了。
阅读全文
本文目录
    Loading...