摘要: Linux的netlink机制是非常好的Linux内核与应用层进行双向交互数据的方式。其常用的单播方式可以实现内核为服务端,应用层为客户端的通信方式。如果需要实现应用层为服务端,内核为客户端的通信方式,则需要使用组播。这种场景一般是应用层守护进程需要实现获取内核的某些模块的状态信息。内核中已经定义好... 阅读全文
posted @ 2015-05-23 23:58 sinaxyz 阅读(3697) 评论(0) 推荐(0) 编辑
摘要: twemproxy(又称为nutcracker)是一个轻量级的Redis和Memcached代理,主要用来减少对后端缓存服务器的连接数。由Twitter开源出来的缓存服务器集群管理工具,主要用来弥补Redis和Memcached对集群(cluster)管理指出的不足。项目地址:https://git... 阅读全文
posted @ 2015-02-27 15:26 sinaxyz 阅读(281) 评论(0) 推荐(0) 编辑
摘要: Buffered-tree也称为COLA,即cache-oblivious,可以不需要知道具体内存大小和一个块的大小,使用一套逻辑进行处理,因此内存大小可知,内存可能被临时占用去做其它事情。Buffered-tree典型的实现是TokuDB,在里面被称为Fractal-tree。其算法的基本过程为:... 阅读全文
posted @ 2015-01-04 15:50 sinaxyz 阅读(688) 评论(0) 推荐(0) 编辑
摘要: Bitcast是一种日志型的基于hash表结构的健值对的存储系统,最早追溯于Riak分布式数据库。目前,Berkeley DB,Tokyo Cabinet,Innostore都使用了这种存储引擎。使用这种引擎拥有以下优点:比较低的读写时延。比较高的随机写吞吐率。能够控制更大的数据库。容易备份和恢复。... 阅读全文
posted @ 2015-01-03 16:51 sinaxyz 阅读(4337) 评论(1) 推荐(1) 编辑
摘要: 创建"hello-1.0.tar.gz"例子步骤:1. 创建src/main.c#include <config.h>#include <stdio.h>intmain (){ printf("Hello World!\n"); return 0;}2. 创建READMEThis is a demonstration package for GNU Automake.3. 创建‘Makefile.am’ and ‘src/Makefile.am’src/Makefile.am:bin_PROGRAMS = hellohello_S 阅读全文
posted @ 2013-04-23 10:45 sinaxyz 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 本章将围绕对象数据库和索引文件展开,便于理解git的工作机制和原理1. 先建立一个git仓库$mkdir test-project$cd test-project$git init$echo ‘Hi, sinaxyz’>file.txt$git add .$git commit -a -m “initial commit” //此处的-m选项表示“后面的参数是本次提交的历史记录”$echo ‘Hi, sinaxyz!’>file.txt$git commit -a -m “add emphasis”$git log //使用log命令查看一下通过前面所学可知,git会对每次comm 阅读全文
posted @ 2013-04-03 21:24 sinaxyz 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 1. git查看“commit”的历史记录。# git log# git show//查看详细信息#git show 5b888402aadd3cd41b3fe8c84a8658da07893b20//使用检验值#git show 5b888 //只要能区别与其他名称就足够了#git show master //显示主分支最近的更新#git show HEAD //使用HEAD字段可以代表当前分支的头(也就是最近一次commit)#git show HEAD^//查看HEAD的父母的信息#git show HEAD^^ //查看HEAD的父母的父母的信息#git show HEAD~4 //查 阅读全文
posted @ 2013-03-30 22:49 sinaxyz 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1. git使用帮助查看man git-commitman git-pullman git-merge2. 任何人在使用git之前,需要提交简单的个人信息,以便git区分不同的提交者。# git config -global user.name "your name"# git config -global user.emailyourname@example.com3. 开启一名为myproject的项目,基本操作如下:# cd myproject# git init# git add .# git commit //这个步骤会自动进入编辑状态,要求填写有关本次提交的“开 阅读全文
posted @ 2013-03-29 22:50 sinaxyz 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 一、awk命令格式awk option program file-F fs 指定行中分隔数据字段分隔符-f file 指定读取程序的文件名-v var=value 定义awk程序中的一个变量及其默认值-mf N 指定要处理的数据文件中的最大字段数-mr N 指定数据文件中的最大数据行数-W keyword 指定awk的兼容模式或警告等级二、awk进阶1、使用变量awk支持两种不同类型的变量:内建变量,自定义变量。1> 字段和数据行分隔符变量数据字段变量允许使用$符号和数据字段在数据行中位置对应的数值来引用该数据行中的字段。因此... 阅读全文
posted @ 2012-12-18 21:55 sinaxyz 阅读(2396) 评论(0) 推荐(0) 编辑
摘要: 一、多行命令在使用sed编辑器的基本命令时,所有的sed编辑器命令都是对单行数据执行操作。sed编辑器也可以对多行数据进行处理,包含了3个可用来处理多行文本的特殊命令。1》N:将数据流中的下一行加进来创建一个多行组来处理。2》D:删除多行组中的一行。3》P:打印钓竿组中的一行。1.单选的next命令小写n命令会告诉sed编辑器移动到数据流下一文本行,而不用重新回到命令的最开始再执行一遍。通常sed编辑器会在移动到数据流中的下一文本行前,在这行上执行所有定义好的命令。$ cat data4This is the header lineThis is data lineThis is the la 阅读全文
posted @ 2012-12-17 21:53 sinaxyz 阅读(838) 评论(0) 推荐(0) 编辑