摘要: 抢购/秒杀是如今很常见的一个应用场景,那么高并发竞争下如何解决超抢(或超卖库存不足为负数的问题)呢? 常规写法: 查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数 这里我就只谈redis的解决方案吧...我们先来看以 阅读全文
posted @ 2017-11-05 21:20 永杰本杰 阅读(2834) 评论(0) 推荐(0) 编辑
摘要: 抽象类和接口的异同 1. 相同点: (1)两者都是抽象类,都不能实例化。 (2) interface 实现类及 abstract class 的子类都必须要实现已经声明的抽象方法。 2.不同点: (1)interface 需要实现,要用 implements ,而 abstract class 需要 阅读全文
posted @ 2017-11-05 21:05 永杰本杰 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 1.echo 和 print 的区别 共同点:首先echo 和 print 都不是严格意义上的函数,他们都是 语言结构;他们都只能输出 字符串,整型跟int型浮点型数据。不能打印复合型和资源型数据; 而区别是:echo 可以连续输出多个变量,而print只能一次输出一个变量。print打印的值能直接 阅读全文
posted @ 2017-11-05 20:55 永杰本杰 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 1、include() include(/path/to/filename) include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果。 使用include()时可以忽略括号。 可以根据条件来执行include()语句。在条件语句中使 阅读全文
posted @ 2017-11-05 20:53 永杰本杰 阅读(537) 评论(0) 推荐(0) 编辑
摘要: ql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。 一、sql执行顺序 (1)from (3) join (2) on (4) where (5)group by(开始使用select中的别名,后面的语句中都可以使用)(6) avg,sum.... (7)having (8) 阅读全文
posted @ 2017-11-05 19:53 永杰本杰 阅读(80568) 评论(4) 推荐(10) 编辑
摘要: 1、内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符)。包括相等联接和自然联接。 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。 2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。 在 F 阅读全文
posted @ 2017-11-05 19:48 永杰本杰 阅读(391450) 评论(3) 推荐(26) 编辑
摘要: 在linux下面工作,有些命令能够大大提高效率。本文就向大家介绍find、grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们。本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep 阅读全文
posted @ 2017-11-05 19:40 永杰本杰 阅读(1747) 评论(0) 推荐(0) 编辑
摘要: 1.1 top 1.1.1 命令说明 Top 命令能够实时监控系统的运行状态,并且可以按照cpu、内存和执行时间进行排序 1.1.2 参数说明 命令行启动参数: 用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p 阅读全文
posted @ 2017-11-05 19:30 永杰本杰 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结 阅读全文
posted @ 2017-11-05 19:16 永杰本杰 阅读(453) 评论(1) 推荐(0) 编辑