上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 43 下一页

2012年2月4日

MySQL行锁深入研究

摘要: 做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设id=1的这本书库存为1,但是有2个人同时来借这本书,此处的逻辑为Selectrestnumfrombookwhereid=1; --如果restnum大于0,执行update Updatebooksetrestnum=restnum-1whereid=1;问题就来了,当2个人同时来借的时候,有可能第一个人执行select语句的时候,第二个人插了进来,在第一个人没来得及更新book表的时候,第二个人查到数据了,其实是脏数据,因为第一个人会把restnum值减1,因此第二个人本来应该是查到id=1的 阅读全文

posted @ 2012-02-04 00:59 cn三少<script></script> 阅读(205) 评论(0) 推荐(0) 编辑

浅析大数据量高并发的数据库优化

摘要: 一、数据库结构的设计如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。所以在考虑整个系统的流程的时候,我们必须要考虑,在高并发大数据量的访问情况下,我们的系统会不会出现极端的情况。(例如:对外统计系统在7月 16日出 阅读全文

posted @ 2012-02-04 00:35 cn三少<script></script> 阅读(292) 评论(0) 推荐(0) 编辑

不用锁表,没有异常:在高并发网络中高效的更新数据库数据的方式

摘要: 很多Web系统的瓶颈在网络IO,所以很多系统都采用多Web服务器负载均衡,双DB做双机热备(其实就是只有一个DB,两台只有一台真正工作,死掉一台另一台顶上)的方式部署,在这个时候很多原本不是问题的系统也会产生很多的问题。这里我们假设有表Product,其定义如下:列明类型说明IdInt自增字段,实例的IDProductNameVarchar(100)商品的名称StoreCountint库存数量。。。。。。。。。假设很不凑巧的,3个管理员P1,P2,P3同时操作了这个表,且P1 update StoreCount=50,P2 update StoreCount=49,P3 update Stor 阅读全文

posted @ 2012-02-04 00:25 cn三少<script></script> 阅读(451) 评论(0) 推荐(0) 编辑

数据库 ACID

摘要: 1、数据库事务的属性-ACID(四个英文单词的首写字母):1)原子性(Atomicity)所谓原子性就是将一组操作作为一个操作单元,是原子操作,即要么全部执行,要么全部不执行。2)一致性(Consistency)事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于有效状态。如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。3)隔离性(Isolation)隔离性指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。4)持久性(Durab 阅读全文

posted @ 2012-02-04 00:20 cn三少<script></script> 阅读(1345) 评论(0) 推荐(0) 编辑

2012年1月30日

512M vps apache内存优化配置方案(perfork)

摘要: 就如我上一篇文章所说的,第一次入手vps,所以在配置和优化方面都和本地测试会有一定的区别。就如题所说的,本文是对512M 内存并装有apache的vps进行优化,请不要跟我说装nginx就强多了,确实如此,但是你这样说的话,这篇文章就没什么意义了,哈哈。那么进入正题吧!操作系统(linux):CentOS 5.5 32位(并不是我说这个比较好,只是Cents我用得比较熟练)内存:512Mcpu:1G(1000MHz,vps实际有没有这个数,很难说)apache: 2.2 (建议低版本的,升级到高版本,毕竟旧版有很多问题,且性能也是高版本好点)运行的主要是PHP程序,其他的不多说了,与本文关系不 阅读全文

posted @ 2012-01-30 16:01 cn三少<script></script> 阅读(752) 评论(0) 推荐(0) 编辑

软件开发的“三重门”

摘要: 自从上次写了“程序员技术练级攻略” 以来,就觉得似乎还有很多东西没有谈到,但当时没有继续思考了。而春节前有人问我,是做底层技术,还是做业务。这问题让我思考了很多,不由自主地回顾了一 下我这十多年的软件开发经历,并顺着整理分类了一下自己解决过的若干问题,还发散想了很多,经过了一个春节假期的发酵,产生了下面这篇文章。前言这篇文章必然是通过我的个人经历来写的。所以,我先说说个人经历吧。我的经历基本分成三个阶段。第一阶段:我 刚毕业时在家乡的某银行工作,做些银行的业务系统,还搞些网络,电子邮件系统,OA什么的,因为大四的时候在老师的公司里实习,银行里的人际关系太复杂, 而且技术都包给了产商,所以在银行 阅读全文

posted @ 2012-01-30 13:52 cn三少<script></script> 阅读(199) 评论(0) 推荐(0) 编辑

2011年最具影响力的16个开源项目

摘要: OpenLogic近日发布了2011年度开源软件趋势分析报告,Openlogic报告重点分析了现今流行以及活跃的用于企业基 础架构中的核心应用程 序。同时报告将热门的开源项目主要分为了Web应用和应用服务器、应用程序框架以及数据库和大数据三大类别。以下为OpenLogic评选出的2011年 度最具影响力的16个开源项目。 1.HBase HBase是一款开源的非关系数据库,主要基于Google BigTable分布式数据库并使用Java语言编写,并运行在HDFS(Hadoop Distributed Filesystem)之上。HBase作为Apache软件基金会的一部分得到了众多开发... 阅读全文

posted @ 2012-01-30 13:44 cn三少<script></script> 阅读(187) 评论(0) 推荐(0) 编辑

给程序员们的工资报价提醒

摘要: 本文是从 Quick Salary Tip for Software Engineers 这篇文章翻译而来。 在薪水上讨价还价的方式有很多种,我要说的这一点也许并不是最好的。然而,如果使用的得当,会收到很好的效果。如果你正在跟一家公 司接触(没有经过职业中介),而且事情看来很顺利,进度很快,你要保持这种面试的势头,但如果到了最后快要得到这个职位时,你要把节奏慢下来! 这有个例子: 你在四处求职,一个朋友,或一个同事,或一个以前公司的上司找到你,要给你一个职位。你面试了一次,你吸引住了他们。你进行了复试,你见到了 CTO。一切都很顺利,因为你是一个有价值的人,你的资历说明了这些,CTO决定加快进 阅读全文

posted @ 2012-01-30 13:39 cn三少<script></script> 阅读(197) 评论(0) 推荐(0) 编辑

PHP中去除换行解决办法小结(PHP_EOL)

摘要: 第一种写法:$content=str_replace("\n","",$content);echo $content;第二种写法:str_replace("\r\n","",$str);第三种写法:$content=preg_replace("/\s/","",$content);echo $content;附:首先说说\n,\r,\t\n 软回车:在Windows 中表示换行且回到下一行的最开始位置在Linux、unix 中只表示换行,但不会回到下一行的开始位置。\r 软空 阅读全文

posted @ 2012-01-30 10:06 cn三少<script></script> 阅读(1282) 评论(0) 推荐(0) 编辑

PHP 和 AJAX responseXML 实例

摘要: AJAX 可用于以 XML 返回数据库信息。AJAX Database 转 XML 实例 (测试说明:该实例功能未实现)在下面的 AJAX 实例中,我们将演示网页如何从 MySQL 数据库中读取信息,把数据转换为 XML 文档,并在不同的地方使用这个文档来显示信息。本例与上一节中的 "PHP AJAX Database" 这个例子很相似,不过有一个很大的不同:在本例中,我们通过使用 responseXML 函数从 PHP 页面得到的是 XML 形式的数据。把 XML 文档作为响应来接收,使我们有能力更新页面的多个位置,而不仅仅是接收一个 PHP 输出并显示出来。在本例中,我 阅读全文

posted @ 2012-01-30 09:39 cn三少<script></script> 阅读(257) 评论(0) 推荐(0) 编辑

上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 43 下一页

导航