前言 大家应该都知道Memcached要想实现分布式只能在客户端来完成,目前比较流行的是通过一致性hash算法来实现.常规的方法是将server的hash值与server的总台数进行求余,即hash%N,这种方法的弊端是当增减服务器时,将会有较多的缓存需要被重新分配且会造成缓存分配不均匀的情况(有可能某一台服务器分配的很多,其它的却很少). 今天分享一种叫做”ketama”的一致性hash算法,它通过虚拟节点的概念和不同的缓存分配规则有效的抑制了缓存分布不均匀,并最大限度地减少服务器增减时缓存的重新分布。实现思路 假设我们现在有N台Memcached的Server,如果我们用统一的规则对... Read More
posted @ 2014-01-23 08:58 Rock_Choke Views(4551) Comments(8) Diggs(6) Edit
大家平时肯定都用过火狐的Firebug或者谷歌的调试工具来调试JS,但遗憾的是我们不能像编辑html,css那样来直接新增或者删除JS代码.虽然可以通过调试工具的控制台来动态执行JS代码,但有时候却远远不够用.特别是当产线环境不能随意修改文件情况下,用线上环境来调试本地代码更是迫切的需求.(往往本地测试通过,上线后却是各种bug.)今天分享一下如何用Fiddler来修改并调试线上的JS代码.以博客园首页为例子,用我本地的一个js文件来替换它的一个js.查看首页源码发现一个js,就拿它开刷了.打开fiddler,捕获博客园的首页请求. 找到“aggsite.js”的请求.这里有个技巧,可以通过 Read More
posted @ 2014-01-08 17:59 Rock_Choke Views(21320) Comments(12) Diggs(17) Edit
Visual Studio JS 辅助插件JScript Editor Extensions功能:1. 代码块折叠2. 方法参数智能提示3. 代码块Outlining Javascript Parser功能:1. 代码错误提示JScript Word Highlighter Extension功能:1. 变量名高亮 插件安装方法Step1: 菜单栏点击 tools => Extension Manager Step2: Online Gallery => 搜索插件名称如 : JScript Editor ExtensionsStep3: Download 并安装Install JS Read More
posted @ 2013-09-13 14:24 Rock_Choke Views(1500) Comments(5) Diggs(1) Edit
最近在做公司QA系统改造时,有这样的一个场景.QA系统中有些数据项需要从JIRA平台(一个国外项目与事务跟踪工具)中获取,JIRA平台提供了很完善的Rest API.现在的要求是,在QA系统中提交项目时,必须先从JIRA平台获取很多的数据项,每次请求的Rest API都不一样,同时必须等所有请求都成功返回数据后才能提交项目.因为之前对Jquery Deferred有过研究,发现这个场景用它来实现再合适不过了.这里对Jquery Deferred不做过多讲解了,不了解的同学可以先看下面的文章.http://www.ruanyifeng.com/blog/2011/08/a_detailed_ex Read More
posted @ 2013-07-31 17:30 Rock_Choke Views(2031) Comments(0) Diggs(2) Edit
你是否会经常碰到在公司写的代码,但回到家之后而不能继续的情况? 或是你的Google Code又提交不上去,又要换新的Host了?(神马?你一直是用U盘来拷代码的?拖出去枪毙!) 亦或是你已经厌烦了SVN的Check in、Check Out、Update? 难道这些操作就不能自动完成吗? 下面就让我来介绍,如何用"360云盘"来管理你的代码,从此不必再担心Google Code被屏蔽、Check in、Check out等给你带来的困扰。 1. 首先下载 "360云盘" ,这里注意要下载 "360云盘同步版客户端" 版本。 2.安装 Read More
posted @ 2013-06-17 15:49 Rock_Choke Views(1746) Comments(4) Diggs(1) Edit