上一页 1 ··· 5 6 7 8 9 10 11 下一页
  2013年11月16日
摘要: 说明:本文分为三部分内容,第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。 第一部分:Top K 算法详解 问题描述(百度面试题): 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。 必备知识: 什么是哈希表? 哈希表(Hash tab... 阅读全文
posted @ 2013-11-16 13:13 刀锋诚心 阅读(1677) 评论(0) 推荐(1) 编辑
  2013年11月14日
摘要: http://redis.cn/ 阅读全文
posted @ 2013-11-14 11:49 刀锋诚心 阅读(170) 评论(0) 推荐(0) 编辑
摘要: Couchbase介绍,更好的Cache系统在移动互联网时代,我们面对的是更多的客户端,更低的请求延迟,这当然需要对数据做大量的 Cache 以提高读写速度。术语节点:指集群里的一台服务器。现有 Cache 系统的特点目前业界使用得最多的 Cache 系统主要是 memcached 和 redis。 这两个 Cache 系统都有都有很大的用户群,可以说是比较成熟的解决方案,也是很多系统当然的选择。 不过,在使用 memcached 和 redis 过程中,还是碰到了不少的问题和局限:Cluster 支持不够。在扩容、负载均衡、高可用等方面存在明显不足。持久化支持不好,出现问题后恢复的代价大。m 阅读全文
posted @ 2013-11-14 11:13 刀锋诚心 阅读(1832) 评论(1) 推荐(0) 编辑
  2013年11月13日
摘要: 前言大家都知道nodejs是一个单进程单线程的服务器引擎,不管有多么的强大硬件,只能利用到单个CPU进行计算。所以,有人开发了第三方的cluster,让node可以利用多核CPU实现并行。随着nodejs的发展,让nodejs上生产环境,就必须是支持多进程多核处理!在V0.6.0版本,Nodejs内置了cluster的特性。自此,Nodejs终于可以作为一个独立的应用开发解决方案,映入大家眼帘了。目录cluster介绍cluster的简单使用cluster的工作原理cluster的APImaster和worker的通信用cluster实现负载均衡(Load Balance) — win7失败用 阅读全文
posted @ 2013-11-13 10:13 刀锋诚心 阅读(1723) 评论(0) 推荐(0) 编辑
摘要: 需求很简单实时向客户端(目前只有浏览器)推送消息核心为rabbitmq+nodejs的socket.io+redis做消息中心后端的消息中间件必不可少,当初考虑是从rabbitmq和redis选一个。redis现在很火支持消息订阅性能也非常不错可惜它对消息这块支持的相对弱功能比较少,像消息的过期、ack功能都没有。rabbitmq做为老牌的消息中间件功能完善性能也不错也有很多监控插件可以选择,当然相对redis它也劣势做为企业级中间件占用资源比较多也没有redis那么有上升空间。websocket的服务选择用nodejs是基本nodejs高效的事件驱动模型还有socket.io对所有浏览器的支 阅读全文
posted @ 2013-11-13 09:53 刀锋诚心 阅读(1322) 评论(1) 推荐(0) 编辑
  2013年11月12日
摘要: 1.nodejs多线程 var cluster=require("cluster");//ͨ¹ýcluster¿ÉÒÔ·Ö³öһЩ×ÓÏß³Ì var http=require("http"); var numCPUs=require("os").cpus().length;//»ñµ 阅读全文
posted @ 2013-11-12 16:23 刀锋诚心 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 在本章的开始,我本来只想写一些关于fs模块的内容,虽然这个模块包含的方法非常的多,但没有想到的是它和我们上一篇文章Node.js Buffer还存在着关联,所以我又把关于Buffer的内容简单的学习下,以至于对它不那么陌生。我以为这样就可以来看看fs模块了,没想到又杀出个程咬金,这就是本文要学习的Stream。这个Stream目前还是个不稳定的模块,从API的介绍来说,所有stream是对象EventEmitter的实例,测试下://abs file_path:F:\wamp\www\Node\mystream.jsconsole.log(new(require(‘stream’)) inst 阅读全文
posted @ 2013-11-12 10:02 刀锋诚心 阅读(535) 评论(0) 推荐(0) 编辑
  2013年11月9日
摘要: 官方api文档 http://nodejs.org/docs/v0.6.1/api/http.html#http.request虽然也有POST例子,但是并不完整。直接上代码:http_post.js12345678910111213141516171819202122232425262728293031323334var http=require('http');var qs=require('querystring');var post_data={a:123,time:new Date().getTime()};//这是需要提交的数据var content 阅读全文
posted @ 2013-11-09 23:34 刀锋诚心 阅读(12106) 评论(2) 推荐(0) 编辑
摘要: http://blog.fens.me/nodejs-linux-sh-tty/ 阅读全文
posted @ 2013-11-09 17:35 刀锋诚心 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 4.1 迭代器块 一个迭代器块(iterator block)是一个能够产生有序的值序列的块。迭代器块和普通语句块的区别就是其中出现的一个或多个yield语句。 yield return语句产生迭代的下一个值。 yield break语句表示迭代完成。 只要相应的函数成员的返回值类型是一个枚举器接口或是一个可枚举接口,一个迭代器块就可以用作方法体、运算符体或访问器体。 迭代器块并不是C#语法中的独立元素。它们受多种因素的制约,并且对函数成员声明的语义有很大影响,但在语法上它们只是块(block)。 当一个函数成员用一个迭代器块来实现时,如果函数成员的形式参数列表指定了ref或out参数,则会引 阅读全文
posted @ 2013-11-09 15:35 刀锋诚心 阅读(443) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 下一页