自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 memcache的一致性hash算法使用

一、概述 1、我们的memcache客户端(这里我看的spymemcache的源码),使用了一致性hash算法ketama进行数据存储节点的选择。与常规的hash算法思路不同,只是对我们要存储数据的key进行hash计算,分配到不同节点存储。一致性hash算法是对我们要存储数据的服务器进行hash计算,进而确认每个key的存储位置。  2、常规hash算法的应用以及其弊端 最常规...

2013-06-14 16:52:54 103

原创 nosql

话说,尽管 SQL 数据库一直是我们IT行业中最有用的工具,然而,它们这样在行业中超过15年以上的“转正”终于就要寿终正寝了。现在,虽然关系型数据库仍然无所不在,但它越来越不能满足我们的需要了。NoSQL成为了业界的新宠。但是,各种 "NoSQL" 数据库之间的差异比当年众多关系型数据库之间的差异要大许多。这就加大了人们在建设自己的应用是选择合适的数据库的难度。在这篇汇总的PK中,我们...

2013-06-14 16:49:53 119

原创 memcached一致性哈希算法

Memcached分布式算法在网上一搜可以找到一大片了,不过对于Memcached分布式算法中使用的consistent hashing算法,笔者一直没有彻底搞明白,尤其是具体是如何实现,包括虚拟节点的作用,以及为何会在缓存服务器变动的时候将影响降到最小十分迷惑。今天笔者有幸拜读了一篇质量很高的关于”Memcached一致性hash算法consistent hashing”的文章,摘录下来和大家...

2013-06-14 16:48:56 117

原创 网站分布式架构

摘要: 互联网的网站和大部分企业管理软件一样都是使用B/S架构模型,但是大型的公共网站B/S架构会更加复杂,对架构人员的要求更高,今天我想在自己博客里聊聊我设计的网站的B/S技术架构。不管是B/S架构的企业管理系统还是网站技术架构可以抽象为如下简图: 在传统B/S...<!-- SingleAd begin --><iframe id="baidu_clb_...

2013-06-04 13:56:52 117

原创 使用memcache作为session

php memcache保存session的一个设置误区php中,使用memcache作为session的save handler 一般会使用如下设置: php.ini里: session.save_handler = memcache session.save_path = “localhost:11211″  项目配置里: ini_set(“session...

2013-05-31 13:57:52 96

原创 11步提高代码质量和整体工作效率

 这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的11件事情。1. 永远不要复制代码不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事 在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它还会使你的代码体积变得臃...

2012-12-29 14:04:10 98

原创 jquery获取被选中的radio的值

var r = $('input[@name=resource_type]:checked').val();

2012-11-29 15:10:33 81

原创 Yii memcache 保存 session

在配置文件组件中配置  'mcache' => array( 'class' => 'system.caching.CMemCache', 'servers' => array( array('host' => '127.0.0.1', 'port' => 11211), ),...

2012-11-29 11:27:59 144

原创 nosql的优缺点

关系数据模型已经流行了几十年了,但是一种新型的数据库(即NoSQL)正在吸引各大企业的关注。下面是对其优势与劣势的一个简单总结。在过去的1/4世纪中,关系型数据库(RDBMS)一直是数据库管理系统的主导模型。但是,今天,非关系型,“云”或者“NoSQL”数据库正以数据库管理系统的替代模型而获得认知。在本文中,我们将考察这些非关系型NoSQL数据库的10个关键因素:最重要的5个优势以及5个挑...

2012-11-26 15:32:09 366

原创 7中nosql应用

虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破。这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举。但是NoSQL数据库之间的不同,远超过两 SQL数据库之间的差别。这意味着软件架构师更应该在项目开始时就选择好一个适合的 NoSQL数据库。针对这种情况,这里对 Cassandra、 Mongodb、CouchDB、Redis、 Riak、 M...

2012-11-26 15:19:13 99

原创 JQuery上传插件Uploadify使用详解

Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示。不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示或下载。 官方下载 官方文档 官方演示首先按下面的步骤来实现一个简单的上传功能。1 创建Web项目,命名为JQueryUploadDemo,从官网上下...

2012-07-18 10:41:57 91

原创 唐骏语录

01、妈妈曾经对我说:唐骏,其实你从某个侧面来看还是蛮吸引人的。 02、我是一个普通的让我自己都感动的人。 03、做人简单,做事勤奋。 04、先做人,后做事,偶尔做秀。做秀产生影响力,做人太理性就没有魅力。 05、上市就是圈钱。在盛大做上市时,是靠卖我唐骏的人格做上市。 06、你相信盖茨吗?——相信。你知道盖茨最相信...

2012-07-12 15:53:52 311

原创 Yii 路径总结

Yii 路径总结一:Yii framework 已经定义的命名空间常量system: 指向Yii框架目录; Yii\frameworkzii: 指向zii library 目录; Yii\framework\ziiapplication : 指向应用程序基本目录; protected\webroot: 指向包含里入口脚本 文件的目录; .\ext : 指向包含所有第三方...

2012-07-08 15:32:53 79

原创 Yii系列总结:隐藏index.php步骤

1.开启apache的mod_rewrite模块 去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号 确保中有“AllowOverride All”2.在项目中的/protected/config/main.php中添加代码:-------------------------------------...

2012-07-06 11:02:00 95

原创 php优化

PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置。 # vi /etc/php.ini(1) PHP函数禁用找到:disable_functions =该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行一些系统级脚本命令,如...

2012-06-25 09:56:21 90

原创 php内存管理

PHP用引用计算和写时复制php用引用计算和写时复制(copy-on-write)来管理内存。写时复制确保在变量之间复制值时不浪费内存,引用计算确保在引用不再需要时将内存返回给操作系统。要理解PHP中的内存管理,必须首先理解符号表(symbol table)的思想,变量有两部分–变量名(如$name)和变量值(如”Fred”)。符号表是一个数组,此数组将变量名映射到其值在内存中的位置。...

2012-06-25 09:54:33 80

原创 lvs原理

LVS里Director本身不响应请求,只是接受转发请求到后方,Realservers才是后台真正响应请求。LVS 工作原理基本类似DNAT,又不完全相像,它是一种四层交换,默认情况下来通过用户请求的的地址和端口,来判断用户的请求,从而转发到后台真正提供服务的主机,而判断这种请求的是通过套接字来实现,所以四层就可以实现。而且这个转发的过程对用户而言是透明的(简单的讲,就是用户访问的是DR的...

2012-06-25 09:45:50 101

linux 负载均衡

硬件:f5软件:lvsinnodb

2012-06-25 09:40:51 68

原创 linux 命令总结

[b]系统 [/b]# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 #...

2012-06-25 09:36:30 59

原创 php 正则模式修正符

PHP正则表达式 /i, /is, /s, /isU等 都是些什么东西呢?1、正则表达式运算顺序( ) 圆括号因为是内存处理所以最高* ? + { } 重复匹配内容其次^ $ \b 边界处理第三条件处理第四最后按照运算顺序计算匹配2、正则表达式模式修正符i 正则内容在匹配时候不区分大小写(默认是区分的)m 在匹配首内容或者尾内容时候采用多行识别匹配S...

2012-06-19 09:41:06 122

原创 sphinxPHP api全文检索的例子

在sphinx安装目录有一个API目录,里面有三个PHP文件:test.php,test2.php和sphinxapi.php。 sphinxapi.php是sphinx调用接口封装文件,test.php是一个在命令行下执行的查询例子文件,test2.php是一个生成摘要的例子文件。在命令下行运行test.php(Linux上没有API目录,需要从源程序包中复制api目录至/usr/local...

2012-06-19 09:29:09 94

php的优缺点

PHP 就是: Quick and DirtyJava 就是: Beauty and SlowlyRuby 就是: Quick and Beautypython 就是: Quick and Simple php优点1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux /Apache/Mysql/PH...

2012-05-21 12:02:09 75

原创 自适应网页设计(Responsive Web Design)

随着3G的普及,越来越多的人使用手机上网。移动设备正超过桌面设备,成为访问互联网的最常见终端。于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,...

2012-05-21 12:00:25 70

原创 网站开发人员应该知道的61件事

有人在Stack Overflow上发问,动手开发网站之前,需要知道哪些事情?不出意料地,他得到了一大堆回答。通常情况下,你需要把所有人的发言从头到尾读一遍。但是,Stack Overflow有一个很贴心的设计,它允许在问题下方开设一个wiki区,让所有人共同编辑一个最佳答案。于是,就有了下面这篇文章,一共总结出六个方面共计61条"网站开发须知"。我发现,这种概述性的问题,...

2012-05-21 12:00:09 72

Javascript编程风格

Douglas Crockford是Javascript权威,Json格式就是他的发明。去年11月他有一个演讲(Youtube),谈到了好的Javascript编程风格是什么。我非常推荐这个演讲,它不仅有助于学习Javascript,而且能让你心情舒畅,因为Crockford讲得很幽默,时不时让听众会心一笑。下面,我根据这个演讲和Crockford编...

2012-05-10 15:44:51 68

Javascript面向对象编程(三):非构造函数的继承

今天是最后一个部分,介绍不使用构造函数实现"继承"。一、什么是"非构造函数"的继承?比如,现在有一个对象,叫做"中国人"。  var Chinese = {    nation:'中国'  };还有一个对象,叫做"医生"。  var Doctor ={    career:'医生'  }请问怎样才能让"医生"去继承"中国人",也就

2012-05-10 15:35:13 67

Javascript面向对象编程(二):构造函数的继承

今天要介绍的是,如何生成一个"继承"多个对象的实例。比如,现在有一个"动物"对象的构造函数,  function Animal(){    this.species = "动物";  }还有一个"猫"对象的构造函数,  function Cat(name,color){    this.name = name;    this.color = c...

2012-05-10 15:34:28 60

Javascript 面向对象编程(一):封装

Javascript 面向对象编程(一):封装作者:xbgJavascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做...

2012-05-10 15:20:28 59

javascript面向对象

领悟 JavaScript 中的面向对象 注:读完本文后请务必接着看完所有回复!JavaScript 是面向对象的。但是不少人对这一点理解得并不全面。在 JavaScript 中,对象分为两种。一种可以称为“普通对象”,就是我们所普遍理解的那些:数字、日期、用户自定义的对象(如:{})等等。还有一种,称为“方法对象”,就是我们通常定义的 function。你可能觉得奇怪:方...

2012-05-10 15:06:39 62

原创 别名设置

#cd ~ 切换到用户主目录下#l.#vim .bashrc(在最后一行加入你要添加的别名命令)如:alias rd = 'rm -rf';alias f = 'rz -y';#source .bashrc (必须执行这一步,否则命令无法生效)完毕! 下次登录可直接使用这两个命令#rd dir#f...

2011-09-06 12:13:06 175

linux查看负载命令

做压力测试的时候想看看Linux服务器当前负载如何,性能怎样,可以使用下面这些命令uptime显示当前用户数,以及最近1 分钟内、5分钟内、15 分钟内系统的平均负载 cat /proc/loadavg用于显示系统1秒钟平均负载、5秒钟平均负载、15秒钟平均负载、总作业数、正在运行的作业总数 cat /proc/stat这个显示的...

2011-08-16 18:23:40 80

Nginx负载均衡和LVS负载均衡的比较分析

lvs和nginx都可以用作多机负载的方案,它们各有优缺,在生产环境中需要好好分析实际情况并加以利用。首先提醒,做技术切不可人云亦云,我云即你云;同时也不可太趋向保守,过于相信旧有方式而等别人来帮你做垫被测试。把所有即时听说到的好东西加以钻研,从而提高自己对技术的认知和水平,乃是一个好习惯。 下面来分析一下两者:一、lvs的优势:1、抗负载能力强,因为lvs工作方式的逻...

2011-06-22 16:17:14 60

linux批量删除文件夹(包含子目录)下面的指定文件

//删除文件夹下面的所有的.svn文件find . -name '.svn' -exec rm -rf {} \;注:1.{}和\之间有一个空格2.find . -name 之间也有空格3.exec 是一个后续的命令,{}内的内容代表前面查找出来的文件 ...

2011-06-17 12:07:39 168

A/B测试

  很多朋友都问我怎么进行A/B测试,我一般都不直接回答他们的问题,而是首先问一句:“你的日IP是多少?”。当对方的回答是不到一百的时候,我一般都说这个没必要了解。    或许你会纳闷,为什么日IP少的站没必要了解A/B测试,原因很简单,A/B测试需要大量的IP,如果你的IP只有十几个,那么测试出来的数据很可能不是很准确,换句话说A/B测试的站日流量越大测试的结果越准确。...

2011-06-07 15:31:15 74

原创 ubuntu开机自启动fast-cgi

打开修改/etc/init.d/nginx文件sudo gedit /etc/init.d/nginx添加或修改相应位置:case "$1" instart)    echo -n "Starting $DESC: "    start-stop-daemon --start --quiet --pidfile /var/run/$NAME....

2011-05-29 07:58:49 144

原创 显示包含字符串的文件名: grep -l -r 字符串 路径

显示包含字符串的文件名:  grep -l -r 字符串 路径

2011-05-29 07:41:31 349

lynx 命令

移动命令:下方向键:页面上的下一个链接(用高亮度显示)。上方向键:页面上的前一个链接(用高亮度显示)。回车和右方向键:跳转到链接指向的地址。左方向键:回到上一个页面。滚动命令:+,Page-Down,Space,Ctrl+f:向下翻页。-,Page-Up,b,Ctrl+b:向上翻页。Ctrl+a: 移动到当前页的最前面。Ctrl+e: 移动到当前页的...

2011-05-29 07:40:22 159

原创 linux ubuntu 命令集合

1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息 文件管理 # pwd pwd 查看当前所在目录的绝对路经 文件管理 # cd cd .. 回当前目录的上一级目录 文件管理 # cd cd - 回上一次所在的目录 文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录 ...

2011-05-29 07:17:46 73

cdn的点滴记录

在上一篇介绍了cdn的一些原理和概念,以及提供cdn基础网络服务的途径。cdn看起来对于静态内容的,比如html,js,image是非常合适的,通过cdn的部署,用户只需要一跳就可以访问到网站的内容。那对于动态内容怎么办呢?我回答一下:    动态内容按照存在形态可以分为三类。    第一类:内容长时间不需变化,这类内容一般是通过网页静化技术,实现动态内容转换成静态内容,从而达到cdn部...

2011-05-29 07:13:55 98

原创 cat命令

 cat主要有三大功能:1.一次显示整个文件。$ cat    filename 2.从键盘创建一个文件。$ cat   >   filename     只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件。 $cat    file1    file2   > file参数: -n 或 --number 由 1 开始对所有输出的行数...

2011-05-28 10:33:54 67

空空如也

空空如也

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

TA关注的人

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