自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 生成全局唯一ID的几种方法

版权声明:本文为博主原创文章,未经博主允许不转载1.自定义生成规则 eg: 3位服务器编码+15位年月日时分秒毫秒+3位表编码+4位随机码 (这样就完全单机完成编码任务)---共25位 3位服务器编码+15位年月日时分秒毫秒+3位表编码+4流水码 (这样流水码就需要结合数据库和缓存)---共25位2.单独开一个数据库,获取全局唯一的自增序列或个

2016-11-10 10:36:06 7663

原创 mysql 常用函数

一、数学函数ABS(x)   返回x的绝对值BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x)   返回大于x的最小整数值EXP(x)   返回值e(自然对数的底)的x次方FLOOR(x)   返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x1,x2,...,xn)     

2016-11-09 15:24:17 810 1

原创 php结合redis实现高并发下的抢购、秒杀功能

抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题

2016-11-15 20:19:42 332

原创 用Redis轻松实现秒杀系统原理

秒杀系统的架构设计秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路: 写入内存而不是写入硬盘 异步处理而不是同步处理 分布式处理 用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述三点。因此,用Redis就能轻松实现秒杀系统。用我这个方案,无论是电商平台特价秒杀,12306火车票秒杀,都不是事:)下面介绍一下为什

2016-11-14 16:47:21 2656

原创 用redis做一个简单的秒杀

下面是一个简单的下单操作 include "MMysql.class.php";$configArr=[ 'host'=>, 'port'=>, 'user'=>, 'passwd'=>, 'dbname'=>,];$db = new MMysql($configArr);$sql="select * from sdb_b2c_products where product_

2016-11-14 16:36:24 644

原创 redis使用watch完成秒杀抢购功能

Redis使用watch完成秒杀抢购功能:使用redis中两个key完成秒杀抢购功能,mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表。它的优点如下:1. 首先选用内存数据库来抢购速度极快。2. 速度快并发自然没不是问题。3. 使用悲观锁,会迅速增加系统资源。4. 比队列强的多,队列会使你的内存数据库资源瞬间爆棚。5. 使用乐观锁,达到综合需

2016-11-14 16:33:28 911

原创 nginx重定向规则详细介绍

rewrite命令nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下:rewrite 正则表达式 替换目标 flag标记flag标记可以用以下几种格式:last – 基本上都用这个Flag。break –

2016-11-10 18:48:47 497

原创 【php】mysql全局ID生成方案

生产系统随着业务增长总会经历一个业务量由小变大的过程,可扩展性是考量数据库系统高可用性的一个重要指标;在单表/数据库数据量过大,更新量不断飙涨时,MySQL DBA往往会对业务系统提出sharding的方案。既然要sharding,那么不可避免的要讨论到sharding key问题,在有些业务系统中,必须保证sharding key全局唯一,比如存放商品的数据库等,那么如何生成全局唯一的ID呢,下

2016-11-10 17:43:56 245

原创 PHP 单例模式

前些日子开始着真正的去了解下设计模式,开始么,简单地从单例模式开始,当然网上看了一些资料,单例模式比较好理解,看看介绍,然后看看代码基本也就能够理解了,设计模式这些的花点心思基本的是能够理解的,当然要想很好的运用到项目上也是需要一定的实践,不能只是知道了解,或者说的是很厉害很懂的,一到要实际操作就不行了,废话就不多说了,PHP战线上的同志们都加油吧;单例模式(职责模式):简单的说,一个对象

2016-11-10 17:40:08 205

原创 面试题之字符串反转

要求,如下:首先做了一个提交表单页面,form.PHP代码如下:php   header('content-type:text/html;charset=utf8 ');     ?>   center>   form action="fanzhuan.php" method="post">      input type="text" name="str">

2016-11-09 20:34:02 347 1

转载 mysql主从复制windows-》linux

第一步主从服务器ip分别为:主:192.168.1.160 从:192.168.1.64修改主服务器master::打开电脑右下角任务栏里的phpstudy->点击右下角其他选项菜单->打开配置文件里面的MySQL-ini.将下面两行复制到mysql-ini最下面:    log-bin=mysql-bin   #[必须]启用二进制日志      server-id

2016-11-09 15:30:17 191

转载 ab 模拟测试秒杀存在的问题

.我的环境是windows下的phpstudy,进入到apache/bin目录里面有个ab.exe,压力测试命令如下[python] view plain copy ./ab.exe -c 200 -n 1000 http://192.168.1.244/mysql.php  2.mysql.php代码如下正常的逻辑思维,压力增大后,导致数据库num字段

2016-11-09 15:28:27 281

转载 PDO 解析

需求:手里有一个大项目,需要支持多种数据库(Oracle,MySQL),采用面向对象的方式去实现。分成两个团队进行不同数据库的支持。图片1  上面的管理方式是直接使用PHP的源代码去管理不同的数据库,PHP后来增加了一个中间层来管理不同的数据库(PDO),php脚本只需要去操作PDO就能够实现对不同数据库的操作。图片2  PDO介绍PDO1. 什么是PDO?

2016-11-09 15:26:33 460

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除