- 博客(21)
- 资源 (1)
- 收藏
- 关注
转载 原始版本的murmurhash2算法
原始版本的murmurhash2算法(Google Code 的 Murmurhash 开源项目主页上的 Murmurhash2)uint32_t MurmurHash2 ( const void * key, int len, uint32_t seed ){ // 'm' and 'r' are mixing constants generated offline. // The
2016-01-27 13:51:37 3911
转载 分布式一致性算法:Paxos (学习总结)
1. 概述Google Chubby 的作者Mike Burrows:“There is only one consensus protocol, and that's Paxos”-all other approaches are just broken versions of Paxos意即:世界上只有一种一致性算法,那就是Paxos(帕克索斯),所有其它一致性算法都是Paxos算法的
2016-01-22 15:26:55 913
转载 Linux IO 多路复用详解
假设你是一个机场的空管, 你需要管理到你机场的所有的航线, 包括进港,出港, 有些航班需要放到停机坪等待,有些航班需要去登机口接乘客。你会怎么做?最简单的做法,就是你去招一大批空管员,然后每人盯一架飞机, 从进港,接客,排位,出港,航线监控,直至交接给下一个空港,全程监控。那么问题就来了:很快你就发现空管塔里面聚集起来一大票的空管员,交通稍微繁忙一点,新的空管员就已
2016-01-22 13:47:32 621
转载 墨菲定律
1、任何事都没有表面看起来那么简单;2、所有的事都会比你预计的时间长;3、会出错的事总会出错;4、如果你担心某种情况发生,那么它就更有可能发生。“墨菲定律”的根本内容是“凡是可能出错的事有很大几率会出错”,指的是任何一个事件,只要具有大于零的机率,就不能够假设它不会发生。
2016-01-21 21:33:34 496
原创 redis事务详解和例子
1、事务开始命令:MULTI ;标记一个事务的开始,事务块的多条命令会顺序入队列,这个队列称为事务块,最后由EXEC命令原子执行。127.0.0.1:6379> MULTIOK127.0.0.1:6379> set abc 1234QUEUED127.0.0.1:6379> set def 456QUEUED127.0.0.1:6379> set ij
2016-01-21 10:40:57 453
原创 redis键空间通知消息详解和例子
接收键空间通知有2种情况:1、一种是接收指定键值所执行的命令,在配置文件中体现是: notify-keyspace-events K[命令集] ;K代表是监听键值,监听其中命令集包括了:g : 常规命令 del expire rename等等$: 字符串命令l : 列表命令s:集合命令h:hash命令z:有序集合命令x :超时命令
2016-01-20 16:49:25 4483
转载 redis持久化介绍
持久化(persistence)本文是 Redis 持久化文档 的中文翻译。这篇文章提供了 Redis 持久化的技术性描述,推荐所有 Redis 用户阅读。要更广泛地了解 Redis 持久化,以及这种持久化所保证的耐久性(durability),请参考文章 Redis persistence demystified (中文)。Redis 持久化Redis 提
2016-01-20 09:52:02 377
原创 redis常见操作命令-pub/sub
1、订阅一个或者多个频道:SUBSCRIBE channel1 channe2 [...]27.0.0.1:6379> SUBSCRIBE first secondReading messages... (press Ctrl-C to quit)1) "subscribe"2) "first"3) (integer) 11) "subscribe"2) "secon
2016-01-19 17:42:59 858
原创 redis常见操作命令-sortedset
1、将1个或者多个member元素及其score值添加到有序集合里面:ZADD key score member [[score member] [score member] ] ;如果已经存在这个成员,就更新这个member的score值,并从新插入这个member元素,来包装该member在正确的位置上。score可以是整数或者双精度浮点数,如果key不存在,就创建一个空的有序集合并且执行Z
2016-01-19 14:56:25 498
原创 c语言实现二分查找算法
#include 2 //二分查找算法 3 4 int binary(int* arr, int value, int length) 5 { 6 int left,right,mid; 7 left = 0; 8 right = length - 1; 9 mid = (left+
2016-01-18 17:45:21 1774
原创 redis常见操作命令-set
1、将1个或者多个元素添加到集合:SADD key value [value ...] ;如果key不存在就创建一个,如果value存在就不忽略; 如果key不是集合就返回错误;2、显示集合里面的所有元素:SMEMBERS key127.0.0.1:6379> keys *(empty list or set)127.0.0.1:6379> SADD test abc def
2016-01-18 14:37:26 694
原创 redis常见操作命令-list
1、 将1个或者多个的value压入key的表头:LPUSH key value [value ...] 127.0.0.1:6379> LPUSH list abc(integer) 1127.0.0.1:6379> LGET list(error) ERR unknown command 'LGET'127.0.0.1:6379> LRANGE 0 -1(error)
2016-01-18 10:40:22 992
原创 redis常见操作命令-hash
1、将hash表中key中的域filed的值设置为value:HSET value key filed value ;如果key不存在那么创建一个新的hash表,并且进行HSET,如果filed已经存在就进行覆盖2、获取hash表中key中的域filed的值:127.0.0.1:6379> HSET website google "www.google.com"(integer)
2016-01-18 09:27:34 5791
原创 redis常见操作命令-string
在key对应的value后面追加一个字符串:APPEND key 字符串 #返回的是最新字符串长度,如果字符串不存在就相当于set了一个字符串127.0.0.1:6379> keys *1) "bb"2) "cc"127.0.0.1:6379> get bb"234"127.0.0.1:6379> APPEND bb woaini(integer) 9127.0.
2016-01-16 10:08:09 570
转载 webrtc客户端与TURN和信令服务器通讯流程图
WebRTC是HTML5支持的重要特性之一,有了它,不再需要借助音视频相关的客户端,直接通过浏览器的Web页面就可以实现音视频对聊功能。而且WebRTC项目是开源的,我们可以借助WebRTC源码快速构建自己的音视频对聊功能。无论是使用前端JS的WebRTC API接口,还是在WebRTC源码上构建自己的对聊框架,都需要遵循以下执行流程: 上述序列中,WebRTC并不提供Stun服务
2016-01-14 09:41:22 9853 1
转载 unix设计原则
1. 清晰原则。代码要写得尽量清晰,避免晦涩难懂。清晰的代码不容易崩溃,而且容易理解和维护。重视注释。不为了性能的一丁点提升,而大幅增加技术的复杂性,因为复杂的技术会使得日后的阅读和维护更加艰难。2. 模块原则。每个程序只做一件事,不要试图在单个程序中完成多个任务。在程序的内部,面向用户的界面(前端)应该与运算机制(后端)分离,因为前端的变化往往快于后端。3. 组合
2016-01-13 13:44:46 860
原创 c++ g++运行出现Enable multithreading to use std::thread: Operation not permitted解决
使用了c++11的thread库,运行出现了:terminate called after throwing an instance of 'std::system_error' what(): Enable multithreading to use std::thread: Operation not permittedAborted解决:g++ -std=c++1
2016-01-11 22:30:29 7765 2
转载 什么是POSIX
POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945。POSIX标准意在期望获得源代码级别的软件可移植性
2016-01-11 21:50:36 2477
转载 c++11线程sleep
std::this_thread名字空间在前面的例子中,还用到了一个this_thread::get_id()函数用以获取当前线程的tid,std::this_thread名字空间提供了如下函数以管理当前线程:yieldget_idsleep_forsleep_until基本上从名字里就可以猜出它们的功能了。以其中的sleep_for函数为例
2016-01-11 09:39:13 23205
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人