在这两天在为选用哪个Key/Value数据库烦恼。Redis,还是Memlink? 在网络上查找与对比了一下,相对来说Redis的名气会大很多,学习并投入并使用到项目还是很多案例的。而对于Memlink,了解的人并没有多少。它只是天涯社区开发人员开发出来的一款数据引擎。
看了一下关于Memlink的介绍,按我个人的理解,发现它是在借鉴Redis优点的前提下,再进行了实际的改进。当然对于谁好谁坏,我目前还没有去测试,对于初学者的我,在没有好的选择下,最好的做法就是分别安装二个。再进行相应的测试与对比。
现在我把对于Memlink安装步骤给写出来,不过发现Memlink的安装相比于Redis安装要复杂的太多。环境要求也是要高一些。
先看一下编译环境要求(Memlink手册要求).
* 依赖python http://www.python.org/ 版本2.6
* 依赖scons http://www.scons.org/ 版本为2.0.1
* 库依赖libevent http://monkey.org/~provos/libevent/ 版本1.4.14b
* 依赖swig http://sourceforge.net/projects/swig/files/ 版本 swig-1.3.40,注意不是 swigwin-1.3.40
scons是个python模块。安装方法为,解压缩后,进入该目录,运行:
python setup.py install
注意python的版本。
scons相当于make。它依赖于python。它基本命令和make对比:
scons => make
scons -c => make clean
scons 安装路径 => make install
A.分别下载依赖的包
下载python2.7.1的包
下载页面地址:http://www.python.org/getit/
#wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tar.bz2
下载scons 包
下载页面地址:http://www.scons.org/download.php
#wget http://prdownloads.sourceforge.net/scons/scons-2.0.1.tar.gz
下载libevent包
下载页面地址:http://monkey.org/~provos/libevent/
#wget http://monkey.org/~provos/libevent-1.4.1-beta.tar.gz
下载swig-1.3.40
下载页面地址:http://sourceforge.net/projects/swig/files/swig/swig-1.3.40/
#wget http://sourceforge.net/projects/swig/files/swig/swig-1.3.40/swig-1.3.40.tar.gz/download
B.编译并安装相应的环境
#tar jxvf Python-2.7.1.tar.bz2
#cd Python-2.7.1
#./configure
#make && make install
#tar zxvf scons-2.0.1.tar.gz
#cd scons-2.0.1
#python setup.py install
#tar zxvf libevent-1.4.1-beta.tar.gz
#cd libevent-1.4.1-beta
#./configure
#make && make install
#tar zxvf swig-1.3.40.tar.gz
#cd swig-1.3.40
#./configure
#make && make install
C.下载,编译并安装Memlink
#wget http://memlink.googlecode.com/files/memlink-0.3.4.tar.gz
#tar zxvf memlink-0.3.4.tar.gz
#cd memlink-0.3.4
#scons
经过2分钟左右,就会在该目录下面会出现可执行文件memlink。
安装Memlink
memlink安装需要执行 "scons 安装路径" 这个命令。其中的安装路径在SConstruct文件中有配置,必须和里面的install_dir一致。这里默认是/opt/memlink,可以根据情况修改。
#vim SConstruct //找到install_dir,把/opt/memlink改成你需要安装memlink路径 例如:/usr/local/memlink
#scons /usr/local/memlink //这个是我自己的设定的目录
此时查看 /usr/local/memlink目录下会多出二个文件夹bin和etc.到此,证明你已成功安装完成memlink
D.编译安装PHP客户端模块
进入到上步memlink文件目录
#cd memlink-0.3.4/client/php
#vim SConstruct //直接运行scons.该目录下面有一个叫SConstruct的文件, 里面有个配置选项叫php_config的,这个是您PHP环境下php-config文件的路径。
编译生成的memlink.so拷贝到php扩展模块目录中。
编辑PHP.ini 加入extension=memlink.so 模块。
重启Apache或是Nginx服务器,并查看phpinfo,如果能在phpinfo页面看到类似如下图片,则说明PHP客户端模块安装成功。

参考网址:
http://www.infoq.com/cn/news/2010/11/tianya-memlink
http://code.google.com/p/memlink/wiki/DesignDocument#%E4%BF%AE%E6%94%B9%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E7%9A%84mask
http://liluo.org/2010/08/centos-5-5-%E4%B8%AD-python-%E5%8D%87%E7%BA%A7%E5%88%B0-2-6-5/
http://code.google.com/p/memlink/wiki/Install
http://code.google.com/p/memlink/wiki/ClientAPI