2013年9月23日

PHP-单例模式

摘要: 要实现单利模式至少要满足以下条件: 1.必须拥有一个构造函数, 并且必须被标记为private 2.必须拥有一个静态变量保存类的实例 3.必须拥有一个返回这个实例的公共的静态方法 4.必须把__clone();魔术方法实现为空, 以防止对象被复制来个实例演示: 1 class Db { 2 private $_db; 3 public static $_instance; 4 5 private function __construct() { 6 $this->_db = mysql_connect('localhost', 'user', ... 阅读全文

posted @ 2013-09-23 11:28 John_ABC 阅读(278) 评论(0) 推荐(1) 编辑

2013年9月22日

MongoDB-开始学习MongoDB(一)

摘要: 先来看看MongoDB的优缺点: 优点:简单的扩展、快速的读写、灵活的数据类型 缺点:不支持对SQL的支持、支持的特性不够丰富、现有产品不够成熟应用场景: 适用场景: 持久化缓存层、实时的高效性(读写速度快)、用于文件和对象的存储、高伸缩性的存储、非关系型数据的存储 不适用场景: 高度事务、复杂多表查询1.安装 http://www.mongodb.org/dr/fastdl.mongodb.org/linux/mongodb-linux-i686-2.4.6.tgz/download 解压: tar -xzf mongodb-linux-i686-2.4.6.tgz 拷贝到指定... 阅读全文

posted @ 2013-09-22 16:32 John_ABC 阅读(316) 评论(0) 推荐(1) 编辑

MySQL-存储过程

摘要: 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译, 然后执行; 而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集, 经编译后存储在数据库中, 用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数, 它 阅读全文

posted @ 2013-09-22 13:01 John_ABC 阅读(339) 评论(0) 推荐(0) 编辑

2013年9月21日

MySQL-五种日志(查询日志、慢查询日志、更新日志、二进制日志、错误日志)、备份及主从复制配置

摘要: 开启查询日志: 配置文件my.cnf: log=/usr/local/mysql/var/log.log开启慢查询: 配置文件my.cnf: log-slow-queries=/usr/local/mysql/var/slow.log #注意减号或者下划线 long_query_time=2更新日志: 配置文件my.cnf: log-update=/usr/local/mysql/var/update.log错误日志: 配置文件my.cnf: log-error=/usr/local/mysql/var/error.log开启bin-log日志(不是每次... 阅读全文

posted @ 2013-09-21 12:36 John_ABC 阅读(725) 评论(0) 推荐(0) 编辑

2013年9月17日

架构-缓存

摘要: 1.服务器端缓存 设置模块mod_expire和mod_headers来更改响应头中的Cache-Control[no-cache|max-age=86400|public]、Last-Modified、Etag、Expires2.数据库缓存 开启查询结果缓存 使用Memcache或Redis对查询结果进行缓存3.文件缓存 用PHP生成静态HTML文件, 如果存在HTML文件则直接访问HTML文件(参考ob_start, include, ob_get_contents, ob_clean方法) 阅读全文

posted @ 2013-09-17 08:53 John_ABC 阅读(217) 评论(0) 推荐(0) 编辑

2013年9月12日

工具-Memcahce和Redis比较

摘要: 一、Memcache 1. memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小redis有部份存在硬盘上,这样能保证数据的持久性。 2. Memcache使用了Slab Allocator的内存分配机制:按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎 阅读全文

posted @ 2013-09-12 20:45 John_ABC 阅读(348) 评论(0) 推荐(0) 编辑

2013年9月11日

职业-把工作当作职业 or 事业?

摘要: 有这么一种说法,工作态度可以分为两种:一种是把工作当作职业,另一种是把工作当成事业。态度折射品质,态度影响成败。 把工作当作一份职业的人,以职业交换薪水,完全是为工作而工作,工作是为了糊口养家,上班是为了稻粱谋,在他们眼里工作只是谋生之道、安身之术、立命之所 。往往做一天和尚撞一天钟,只求“过得去”,不求“过得硬”,只求“无过”,不求“有功”,斤斤计较个人的利益得失,满足于不出错、不出局,公事“磨洋工”、私事“打冲锋”,常有不平之感,也时常牢骚满腹,虽不会乱作为,但也难有大作为; 把工作当成一种事业的人,不为工作而工作,而是通过努力在完成任务的同时,从中感受价值、成就感与自身的成长,并... 阅读全文

posted @ 2013-09-11 20:01 John_ABC 阅读(941) 评论(0) 推荐(0) 编辑

2013年9月10日

MySQL-查询结果缓存

摘要: 众所周知,系统读取数据时,从内存中读取要比从硬盘上速度要快好几百倍。故现在绝大部分应用系统,都会最大程度的使用缓存(内存中的一个存储区域),来提高系统的运行效率。MySQL数据库也不例外。在这里,笔者将结合自己的工作经验,跟大家探讨一下,MySQL数据库中缓存的管理技巧:如何合理配置MySQL数据库缓存,提高缓存命中率。 合理配置MySQL缓存 提高缓存命中率 什么时候适用MySQL缓存 对于一些不常改变数据且有大量相同sql查询的表,查询缓存会节约很大的性能。 一、什么时候应用系统会从缓存中获取数据? 数据库从服务器上读取数据时,可以从硬盘的数据文件中获取数据,也可以从数据... 阅读全文

posted @ 2013-09-10 18:46 John_ABC 阅读(3675) 评论(0) 推荐(0) 编辑

2013年9月9日

MySQL-SQL语句中SELECT语句的执行顺序

摘要: SELECT语句的执行顺序大家比较少关注,下面将为您详细介绍SQL语句中SELECT语句的执行顺序,供您参考,希望对您能够有所帮助。SELECT语句的执行的逻辑查询处理步骤:(8)SELECT (9)DISTINCT(11) (1)FROM (3) JOIN (2) ON (4)WHERE (5)GROUP BY (6)WITH {CUBE | ROLLUP}(7)HAVING (10)ORDER BY 每个步骤产生一个虚拟表,该虚拟表被用作下一个步骤的输入。只有最后一步生成的表返回给调用者。如果没有某一子句,则跳过相应的步骤。1. FROM:对FROM子句中的前两个表执行笛卡尔积,生成虚.. 阅读全文

posted @ 2013-09-09 09:08 John_ABC 阅读(1824) 评论(0) 推荐(0) 编辑

2013年9月5日

工具-VIM配置

摘要: 设置缩进的空格数 shiftwidth=4设置制表符宽度 tabstop=4高亮显示当前行 cursorline高亮显示当前列 cursorcolumn 阅读全文

posted @ 2013-09-05 15:14 John_ABC 阅读(148) 评论(0) 推荐(0) 编辑

导航