- 浏览: 41156 次
最新评论
-
wst0350:
学习,感谢分享
单线程你别阻塞,Redis时延问题分析及应对 -
yangsong158:
好东西,这个一定要支持
发布《Linux工具快速教程》 -
轻指飞扬:
思维导图总结的不错
《小强升职记》 读书笔记 含思维导图 -
alvin198761:
去一个早亮一个小时的国家,或者,将闹钟定到那个时间
如何做到早起一小时? -
BruceLeeli:
一直想早起,一直没做到。
如何做到早起一小时?
文章列表
Redis 在新浪微博中的应用
Redis简介
1. 支持5种数据结构
支持strings, hashes, lists, sets, sorted setsstring是很好的存储方式,用来做计数存储。sets用于建立索引库非常棒;
2. K-V 存储 vs K-V 缓存
新浪微博目前使用的98%都是持久化的应用,2%的是缓存,用到了600+服务器Redis中持久化的应用和非持久化的方式不会差别很大:非持久化的为8-9万tps,那么持久化在7-8万tps左右;当使用持久化时,需要考虑到持久化和写性能的配比,也就是要考虑redis使用的内存大小和硬盘写的速率的比例计算;
3. 社区 ...
2013中国软件技术大会 参会笔录及感想参加完北京举行的软件技术大会,有感而发;大会会期两天,12.13-12.14;13日上午只有一个主会场,看看主会场的演讲主题,再看看出钱最多的赞助商,我们知道,一上午将都是广告;会议安 ...
P2P小贷网站业务数据流程
引言
这是去年年底开发的一个项目,完成后和用户的衔接没有很好的做起来,所以项目就搁浅了。9月以来,看各路P2P风声水起,很是热闹;这里分享下我的设计文档,算是抛砖引玉,如能提供一些借 ...
Linux Shell 文本处理工具集锦
- 博客分类:
- Linux
本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和参数都是最常用和最为实用的;我对shell脚本使用的原则是命令单行书写,尽量不要超过2行;如果有更为复杂的任务需求,还是考虑python吧;
find 文件查找
查找txt和pdf文件
find . \( -name "*.txt" -o -name "*.pdf" \) -print
正则方式查找.txt和pdf
find . -regex &quo ...
比Redis更快:Berkeley DB面面观
Redis很火,最近大家用的多。从两年前开始,Memcached转向Redis逐渐成为潮流;而Berkeley DB可能很多朋友还很陌生,首先,我们简单的介绍一下。
Berkeley DB介绍
历史悠久。Berkeley DB1991年发行第一版, 2006年被Oracle收购;
Berkeley DB是一个嵌入式数据库系统,将其归类到内存数据库范畴没有问题;
使用Key-Value结构存储,本身不支持SQL,5.5版以后整合了SQLite,可使用sql进行查询;官方资料给出的评估是如果原生的bdb能让性能提升10倍,使用SqlL ...
Joel的随想录,也就是他Blog上的文章的摘选;整本书看下来轻松,其中有不少文字在为他公司打广告、为自己摇旗呐喊;比如在选择程序员方面,他所认为的一些重要的因素,比如提供独立的办公室、更自由的空间、更多及更大的屏幕,都是他公司所能提供的;
但是大家不要忘了,他的公司员工的人数是个位数(从书中的得出),书中所提出的各种因素,在扩大到一定规模后,不具有普遍的适用性和可行性;
在过滤掉这些元素后,我整理了以下观点;
1 Unix与Windows文化之争
从程序开发的起点,Unix和Windows就有完全不同的目标;Unix是以命令行程序做为基本,也就是首要目标;程序
由于性能原因,我们打算将关系型数据库转移到内存数据库中;在内存数据库产品的选型中,我们确定的候选对象有Redis和Berkeley DB;
Redis查询效率不错,并且支持丰富的数据存储结构,但不支持多索引,这样对于比较复杂的sql移植可能会造成数据膨胀;Berkeley DB只支持简单的Key/Value, 但支持多索引查询,对我们目前的应用来说,移植起来更有优势;
下面我们看看,如何为DB建立二级索引;
还是用例子来说明:
一张表中记录学生的信息;每个学生有个唯一的ID,这个id通常就是表的主键;
现在,我们希望通过学生的last_name来查询,这就需要建立二级索引;
...
学习Berkeley DB- 入门
- 博客分类:
- C++
1 导言
首先,我们要了解Berkeley DB的一些基本特性,在IBM的开发网站上有篇文章对其有比较清晰的介绍;
这篇文章讲到了BDB的设计思想和核心数据结构、以及数据访问算法;并有常用函数使用范例;算是接触BDB的一个入门好材料;
进入以下url阅读:
http://www.ibm.com/developerworks/cn/linux/l-embdb/index.html
我现在的问题是,我们需要使用BDB的话,有以下问题需要解决:
如何使用各个常用操作?
数据访问算法的选择?
性能如何?需要做一个贴近实际的性能测试;
BDB支持多索引,那么多索引是如何建立的?
...
轻松scrum之旅 思维导图读书笔记
- 博客分类:
- 敏捷开发
学习一门新的技术通常分为两步,先是理论知识学习,再就是实践;
在敏捷实践中,总是会遇到些问题;有些细节我们不知道如何处理,而身边也没有实施过敏捷的先例可以咨询;
这时,这本书可能对你有些帮助。
这是一本轻松的书,作者以自身的项目实践为原型,讲述了一个项目组从头开始实践敏捷的完整历程;本书最大的价值在于,作者将项目开发过程中遇到的各种问题都一一阐述,并给出合适的解决方法;
以下思维导图中的困惑一节,是我列出的我们可能会遇到的一些问题,如果你有这方面的困惑,可以在这本书中找到答案;
缺点:作为一本目的是讲技术的小说,应将小说情节叙述的更为紧凑些,230页的书完全可以压缩到150页。当然, ...
沟通至上 《高效程序员的45个习惯》读书笔记
- 博客分类:
- 敏捷开发
《高效程序员的45个习惯》这本书的副标题是敏捷开发修炼之道,这是一本讲敏捷的书,如果你之前未接触过敏捷,从这本书,可以了解到敏捷的核心观点。
这里面主要讲了三方面的内容,观念,沟通,以及编码。
观念
我们首先从观念来看,提观念当然少不了敏捷宣言:
个体和交互胜过过程和工具;
可工作的软件胜过面面俱到的文档;
我将以平台划分,分别介绍Windows和Linux下个人认为的好书(与基础篇一样,大部分木书架都提供有电子版);
对于C++基础类的图书,这里不再重复,有兴趣的朋友请移步《C++学习--基础篇》。
Windows:
在Windows平台下主要说的是VC编程(使用MFC),以下将对VC开发的相关图书介绍;对于ATL等,涉及不多,不做评论;
《Windows程序设计》