08 2013 档案

摘要:准备运行1个主节点,2个从节点,从节点中其中是一个是仲裁节点(Arb)。sudo mongod --replSet application --dbpath /data/node1/ --port 9927 --oplogSize 1024sudo mongod --replSet application --dbpath /data/node2/ --port 9928 --oplogSize 1024sudo mongod --replSet application --dbpath /data/arbiter/ --port 9929 --oplogSize 1024其中applicat 阅读全文
posted @ 2013-08-29 22:09 visionwang 阅读(8329) 评论(0) 推荐(1)
摘要:什么是Unicode对象呢?你可以认为unicode对象就是一个Python字符串,它可以处理上百万不同类别的字符——从古老版本的Latin字符到非Latin字符,再到曲折的引用和艰涩的符号。普通的python字符串是经过编码的,意思就是它们使用了某种编码方式(如ASCII,ISO-8859-1或者UTF-8)来编码。 如果你把奇特的字符(其它任何超出标准128个如0-9和A-Z之类的ASCII字符)保存在一个普通的Python字符串里,你一定要跟踪你的字符串是用什么编码的,否则这些奇特的字符可能会在显示或者打印的时候出现乱码。 当你尝试要将用某种编码保存的数据结合到另外一种编码的数据中,或者 阅读全文
posted @ 2013-08-24 11:55 visionwang 阅读(1235) 评论(0) 推荐(0)
摘要:任何情况中都应该提供足够的“5W1H”信息! by CpyUG社区#问题领域...产品开发测试部署...1.Who目标用户?谁来完成谁交付的交付给谁?...给出提问者自身的足够信息,至少有个 blog 地址...2.When其出现的最佳时机何时完成何时需要最后期限?...话题引发的时间点,历史变迁...3.Where其产生与支持环境必须运行在?可能运行在?目标机群?...现象发生的系统/版本/包等等环境依赖..4.What具体内容具体功能?哪些功能?依赖什么软件?...问题的本质需求?最终期望的指标? 怎么测试?定义?5.Why其存在的意义和价值支持什么业务?用户为什么这么用?先后依赖的关系? 阅读全文
posted @ 2013-08-21 22:35 visionwang 阅读(361) 评论(0) 推荐(0)
摘要:Python不像C/C++,Java等有switch-case的语法。不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现。实现方法分为两步:首先,定义一个字典;其次,调用字典的get()获取相应的表达式。下面是个计算器的例子,函数定义如下:def add(a,b): return a + bdef multi(a,b): return a* bdef sub(a,b): return a - bdef div(a,b): return a/ b#b is non-zero如果是switch实现的话,case(‘操作数’)来判断之行的对应函数... 阅读全文
posted @ 2013-08-04 16:19 visionwang 阅读(1577) 评论(0) 推荐(0)
摘要:在使用和阅读lucene源代码时,发现为了提高查找的性能,Lucene在很多地方采取的跳跃表的数据结构。跳跃表(Skip List)是如图的一种数据结构,有以下几个基本特征:元素是按顺序排列的,在Lucene中,或是按字典顺序排列,或是按从小到大顺序排列。跳跃是有间隔的(Interval),也即每次跳跃的元素数,间隔是事先配置好的,如图跳跃表的间隔为3。跳跃表是由层次的(level),每一层的每隔指定间隔的元素构成上一层,如图跳跃表共有2层。看了redisbook中也有关于该数据结构的详细介绍http://www.redisbook.com/en/latest/internal-datastr 阅读全文
posted @ 2013-08-03 12:23 visionwang 阅读(2210) 评论(0) 推荐(0)
摘要:本篇文章介绍几个redis的应用场景。1.取最新N个数据的操作–比如典型的取你网站的最新文章,通过下面方式,我们可以将最新的5000条评论的ID放在Redis的List集合中,并将超出集合部分从数据库获取•使用LPUSH latest.comments命令,向list集合中插入数据 •插入完成后再用LTRIM latest.comments 0 5000命令使其永远只保存最近5000个ID •然后我们在客户端获取某一页评论时可以用下面的逻辑(伪代码) –FUNCTION get_latest_comments(start,num_items): id_list = redis.lrange(& 阅读全文
posted @ 2013-08-03 12:11 visionwang 阅读(1868) 评论(0) 推荐(0)
摘要:上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化、主从复制、简单的事务支持及发布订阅功能。持久化•redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化,这是相对memcache来说的一个大的优势。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。Snapshotting 快照是默认的持久化方式。这种方式将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。可以配置自动做快照持久 化的方式。我们. 阅读全文
posted @ 2013-08-03 12:09 visionwang 阅读(3424) 评论(0) 推荐(1)
摘要:1. Redis 简介•Redis是一款开源的、高性能的键-值存储(key-value store)。它常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符串进行附加操作(append);递增哈希中的值;向列表中增加元素;计算集合的交集、并集与差集等。•为了获得优异的性能,Redis采用了内存中(in-memory)数据集(dataset)的方式。 阅读全文
posted @ 2013-08-03 12:08 visionwang 阅读(30628) 评论(0) 推荐(0)