- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 libmemcached的一致性hash实现源码分析
由于工作上对多语言之间数据缓存一致性的需要,个人分析了libmemcached的实现,对底层一致性的实现有了一些了解,这里分享一些分析的一些过程,也给自己做个笔记。我使用是php,从php的扩展开始分析应该来说是最方便的。 这里从php扩展的Memcached::add方法入手去找到需要的内容。方法文件为php_memcached.c add方法的php扩展代码如下(文件m
2013-03-29 21:57:15 2918
原创 PHP中使用pcntl和libevent实现Timer功能
定时器在其他语言的实现中可能更方便或者已经自带了有,由于PHP在请求执行后马上回收资源,减少了由于编码造成的不安全因素,但是由于没有全局的应用环境(类似于.NET, JAVA, 甚至与python的应用),在处理异步执行的时候会有不少麻烦,也就是自己没法解决需要依赖于其他应用程序,前期测试只用libevent,但是必须阻塞才能执行,这样是不符合要求的,这里通过pcntl和libevent就方便了,
2013-03-21 11:56:34 5048
原创 在php中使用Semaphore的进程锁功能
在大多数的php开发中很少使用到锁机制,但是有些情况确实需要锁来处理,比如:缓存数据,如果数据丢失就会导致突发很多后端数据请求,可能后端就会挂掉,这时锁机制就有用出了,这里主要介绍基于Semaphore的内存锁,由于WIndows下没有扩展实现,需要在linux下测试。 <?php $key = ftok('/tmp', 'a'); $id = sem_get($key); if (s
2013-03-16 23:01:23 4683
翻译 怎样在Ubuntu下开启PHP的pnctl进程管理扩展
Howto: Enable PCNTL in Ubuntu PHP installations 怎样启用Ubuntu(deb包)安装PHP的PCNTL PCNTL in PHP allows for some handy advanced “trickery” using the OS process functions inherent in Linux (*nix?). I be
2013-03-16 21:15:14 3620
原创 python中的嵌套类
在.NET和JAVA语言中看到过嵌套类的实现,作为外部类一个局部工具还是很有用的,今天在python也看到了很不错支持一下。动态语言中很好的嵌套类的实现,应该说嵌套类解决设计问题同时简化了程序,值得学习。 #!/usr/bin/env python import threading, sys def nested1(timeout): def _1(function):
2013-03-16 19:03:24 36137
原创 使用Vim 插件管理程序Vundle的vim配置
if(has("win32") || has("win95") || has("win64") || has("win16")) let g:isWin=1 else let g:isWin=0 endif map :w imap :w" map :NERDTreeToggle let g:NERDTree_title = "[NERD T
2013-03-12 13:49:12 6424
原创 Linux下用openssl库做md5加密
这篇文件借鉴网上的文件,然后自己做了一些修改,主要是对测试的过程中发现一些不一致和不详尽导致一些麻烦的解决 openssl安装 Centos yum install openssl openssl-devel #include #include #include #include int main(int argc, char** argv) { MD5_CTX
2013-03-11 16:39:27 5485 1
MongoDB权威指南
2012-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人