51CTO博客开发
这次第一次用smarttemplate这个模板,比smarty小巧了很多,但也有些不方便的地方。 smarty可以直接对url进行编码, 比如<!--{$var|urlencode}--> 但在smarttemplate里面就好像没有,由于链接是由js提交的,而不是表单提交,所以不能自动编码。 解决办法: 采用js对URL中的汉字进行escape编码。 <a href="" on
pack压缩资料到位字符串之中。语法: string pack(string format, mixed [args]...);返回值: 字符串函数种类: 资料处理内容说明本函数用来将资料压缩打包到位的字符串之中。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,见下表a 将字符串空白以 NULL 字符填满 A 将字符串空白以 SPACE 字符 (空格) 填满 h
memcached是怎么工作的?o memcached最大的优势是什么?o memcached和MySQL的query cache相比,有什么优缺点?o memcached和服务器的local cache(比如PHP的APC、mmap文件等)相比,有什么优缺点?o memcached的cache机制是怎样的?o memcached如何实现冗余机制? o memcached如何处理容错的?o 如何将
可以使用PHP现成的函数flock来实现:<?php$fp = fopen("/tmp/lock.txt","w+");if(flock($fp, LOCK_EX)){// 进行排它型锁定 fwrite($fp,"Write something here\n"); flock($fp, LOCK_UN);// 释放锁定}else{ echo "Couldn't lock the file !
常用redis操作命令:1、手动抓取快照,save或者bgsave(后台异步)redis> saveOKredis> bgsaveBackground saving started2、获取某个key的类型redis> type mylistlist3、匹配所有符合模式的key,*代表所有redis> keys *1) "name"2) "mylist"4、随机返回一个key
memcached采用的网络模型是早前提到的半同步半异步的网络模型.简 单的说,大致流程就是:主线程负责接收新的连接,接收到新的连接之后,选择一个worker副线程,将该新连接push到副线程的连接队列中.主副线程之 间通过管道进行通讯,因此主线程将新的连接push到工作线程之后,主线程要向该副线程的管道中写一个字符,而每个副线程也都有自己的poll set, 其中会包含自己的管道fd, 副线程也
Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。为 什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网 络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Mem
但凡初次接触MongoDB的人,无不惊讶于它对内存的贪得无厌,至于个中缘由,我先讲讲Linux是如何管理内存的,再说说MongoDB是如何使用内存的,答案自然就清楚了。据说带着问题学习更有效,那就先看一个MongoDB服务器的top命令结果:shell> top -p $(pidof mongod) Mem: 32872124k total, 30065320k used, 280680
crontab默认编辑器为nano. www.2cto.com 修改crontab默认编辑器为vi或者其他的编辑器。法一:export EDITOR="/usr/bin/vim" ; crontab -e法二:执行命令:select-editor然后选择编辑器.
在php中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file、file_get_contents之类的函数,简简单单的几行代码就能很漂亮 的完成我们所需要的功能。但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法。需求如下: 现有一个1G左右的日志文件,大约有500多万行, 用php返回最后几行的内容。实现方法:1
Memcached,人所皆知的remote distribute cache(不知道的可以javaeye一下下,或者google一下下,或者baidu一下下,但是鉴于baidu的排名商业味道太浓(从最近得某某事件可以看出),所以还是建议javaeye一下下),使用起来也非常的简单,它被用在了很多网站上面,几乎很少有大型的网站不会使用memcached。曾经我也看过很多剖析memcached内部机制
一、Memcache内存分配机制 关于这个机制网上有很多解释的,我个人的总结如下。Page为内存分配的最小单位。Memcached的内存分配以page为单位,默认情况下一个page是1M,可以通过-I参数在启动时指定。如果需要申请内存 时,memcached会划分出一个新的page并分配给需要的slab区域。page一旦被分配在重启前不会被回收
一、概述: 和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制。在Redis中,MULTI/EXEC/DISCARD/WATCH这四个 命令是我们实现事务的基石。相信对有关系型数据库开发经验的开发者而言这一概念并不陌生,即便如此,我们还是会简要的列出Redis中事务的实现特征: 1). 在事务中的
第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些
本文实例,运行于 MySQL 5.0 及以上版本。MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grantselecton testdb.*to common_user@'%'grantinserton testdb.*to common_user@
consistent hashing 算法早在 1997 年就在论文Consistent hashing and random trees中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash
1) 分布式DB水平切分中用到的主要关键技术:分库,分表,M-S,集群,负载均衡2) 需求分析:一个大型互联网应用每天几十亿的PV对DB造成了相当高的负载,对系统的稳定性的扩展性带来极大挑战。3) 现有解决方式:通过数据切分提高网站性能,横向扩展数据层水平切分DB,有效降低了单台机器的负载,也减小了宕机的可能性。集群方案:解决DB宕机带来的单点DB不能访问问题。读写分离策略:极大限度提
CComponent类为YII框架的基于组件和事件驱动编程提供了基础,YII框架中的大部分类都将CComponent类作为基类。CComponent类为它的子类提供3个特性:1、成员变量扩展 通过定义两个成员函数(getXXX/setXXX)来定义一个成员变量,比如: public function getText() {…} public function setText {…} 这样就相当于定
Yii的Active Recorder包装了很多。特别是把SQL中 把where,order,limit,IN/not IN,like等常用短句都包含进CDbCriteria这个类中去,这样整个代码会比较规范,一目了然。 $criteria =newCDbCriteria; $criteria->addCondition("id=1"); /
Event其实是个既复杂又简单的问题,因为里面总是有很多概念容易交织,在理解Event前,我们首先要明白Event的概念。Event中往往有两个角色,一个是Event,一个是Event Handler。为什么需要两个?原因很容易理解,Event只是说明这件事情发生了,但是没有说怎么处理。这部分处理的工作当然是留给了Event Handler了。我在这里主要从和现实世界的相似度上说,不涉及设计模式上
一、AR模型方法AR模型是ORM方式的一种,其将SQL查询进行封装,使得数据库读写更加方便便捷。其中一个AR类代表数据库中的一张表。1.类的定义(Model模型)定义方式如下:class Post extends CActiveRecord{publicstaticfunction model($className=__CLASS__)  
用behavior的好处是可以通过“插入”的方式来获得新的功能。你当然可以直接把代码写在model里。不过如果类似的代码需要在若干个model里实现,那么behavior就可以让你重用这段代码。1.CActiveRecordBehavioryii框架已经提供了一个CTimestampBehavior行为类,只要设置好createAttribute和updateAttribute两个属性,,它分别对
Yii的路由机制分析2011-12-26 11:28 by AnyKoro,495阅读,0评论,收藏,编辑在Yii中,route是一个非常重要的步骤。通过route我们可以定制更加个性互的Url。同时很多时候,如果route规则复杂也会容易出问题。所以,研究清楚route的机制是十分重要的。在这里希望你能先参看Yii Framework的process flow分析首先,让我们先看一段代码,此段代
CComponet类是Yii中影响最广的类。不仅Application继承自它,Event,Behavior,Action,Controller,Widget总之很多都是继承自它。在这里我们不一一列举,到底有哪些类是继承字CComponent类的。我们在这里主要是从现实意义上来剖析CComponet的作用,角色。当读完本篇后,你应该对继承自Yii的CComponent的类有什么样的属性,什么样的特
数据导出 mongoexport假设库里有一张user 表,里面有2 条记录,我们要将它导出> use my_mongodbswitched to db my_mongodb> db.user.find();{ "_id" : ObjectId(&
mysql主从复制(一)安装mysql(主从服务器皆相同) 先创建用户 useradd mysql -s /sbin/nologintar zxvf mysql-5.0.45.tar.gzcd mysql-5.0.45./configure --prefix=/usr/local/mysql --localstatedir=/opt/data --with-extra-charsets
innodb_buffer_pool_size如果用Innodb,那么这是一个重要变量。相对于 MyISAM来说,Innodb对于buffer size更敏感。MySIAM可能对于大数据量使用默认的key_buffer_size也还好,但Innodb在大数据量时用默认值就感觉在爬了。 Innodb的缓冲池会缓存数据和索引,所以不需要给系统的缓存留空间,如果只用Innodb,可以把这个值设为内存的7
Mysql性能调优(my.cnf参数篇)MySQL的合理优化,直接影响到DB的速度和承载量!MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验进行判断,然后设置合理的参数。本主题调优针对于my.cnf配置来做详细的参数说明示例配置如下:#cat my.cnf# MySQL client library initialization.[c
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号