PHP之Memcached和ttserver
以前只是会用memcached做防刷控制,最近看了一些博客文章和公司一些项目对其了解加深了一步,写个笔记。
?
PHP提供的有memcache和memcached,至于他们的区别,建议看PHP模块:Memcached > Memcache这篇文章就有明了了。
?
什么是Memcached?
Memcached是国外社区网站 LiveJournal 的开发团队开发的高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
?
?
我们知道PHP的memcached中有PHP与Memcache分布式在一台或者多台机器启用一个或者多个进程,这里是在一台机器启用两个进程,使用两个端口:# /usr/local/bin/memcached -p 11211 -d -u nobody# /usr/local/bin/memcached -p 11212 -d -u nobodyPHP 测试代码<?php//连接Memcache$mem = new Memcache;$mem->addServer("localhost", 11211);$mem->addServer("localhost", 11212);$mem->add('key1', 1);$mem->add('key2', 2);$mem->add('key3', 3);$mem->add('key4', 4);?
然后在我们memcache pecl中的memcache.php来看着写值得分布,你就可以看出端倪了。(prc中也apc.php,以前不知道还想自己写一个的)
?
?
有关ttserver的,请参考
?
?
Tokyocabinet/Tokyotyrant文档大合集任何Memcached客户端均可直接调用tokyotyrant。
?
这里让我迷路了,我们常说的memcached是memcached.org实现的,Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。这一点,跟新浪的Memcachedb性质一样。这里的意思ttserver支持memcached协议,我只需要启动ttserver就可以通过使用php的memcache来使用(只需启动ttserver即可,不用启动memcache),这是我粗俗的理解。
?
?
想要深入的理解请参考http://www.google.com/cse/home?cx=016088334967758658265:ej58ey2f_s0这个自定义google引擎中有关memcache的文章。还有一些别人翻译文档。
?
准备写一个类似apc.php的ttserver的监控...
