memcachedb是一个由新浪网的开发人员开放出来的开源项目,给memcached分布式缓存服务器添加了Berkeley DB的持久化存储机制和异步主辅复制机制,让memcached具备了事务恢复能力、持久化能力和分布式复制能力,非常适合于需要超高性能读写速度,但是不需要严格事务约束,能够被持久化保存的应用场景,例如
memcachedb被应用在新浪博客上面。
memcachedb给memcached添加了一些数据库才具备的特性,但是我们还不能说
memcachedb已经是一个数据库了,这是因为memcached不支持内存对象的遍历操作,当然更加不能支持复杂的查询操作,只能支持根据已知的key去查询对应的value。因此如果想把
memcachedb当成一个高性能的分布式内存数据库来使用的话,查询的问题就没有办法解决,只能在应用程序里面配合其他方案做一些折衷。
然而memcached的另外一个开源项目完美的填补了这一个缺陷,就是
memcache_engine。
memcache_engine是一个MySQL数据库的存储引擎,目前只支持MySQL5.1数据库,他能够把
memcachedb作为MySQL数据库的一个存储引擎和MySQL集成起来,让用户通过标准的SQL查询语句访问
memcachedb中存放的数据,请看如下示例:
创建表a,存放在分布式memcached server:localhost:6666和localhost:6688当中。然后我们就可以使用标准的SQL语句随意的进行CRUD操作去使用
memcachedb了,这实在是太酷了!有了memcache_engine,我们就可以用SQL去访问memcached,有了
memcachedb,我们就不必担心数据丢失问题,事务恢复问题了,简直是绝配,让memcached真正成为了一个高性能的分布式数据库系统了。目前memcache_engine项目还是早期试验阶段,让我们期待memcache_engine项目早日发布正式版本吧!
顺便多说几句:最近一年来,特别是最近一个月以来,围绕memcached的开源项目发展的非常非常活跃:
1、最近刚刚发布了memcached的新的高性能C客户端接口:
libmemcached 2、由于有了libmemcached,该组织又发布了memcache_engine存储引擎,cool!
3、由于libmemcached的发布,不到一周时间,ruby的两个崭新的memcache client就问世了,他们是
Caffeine和
New memcache-client,让ruby访问memcached的速度大幅度提高,请看:
libmemcached发布了,ruby访问memcached提速20倍 4、
memcachedb发布了,这是中国的互联网公司贡献的开源项目
以上几个项目都是在2008年1月发布的,真的不是一般的繁荣阿。再加上之前发布的新的支持异步访问的Java Memcached API和C#接口,可以说除了Python,其他主流非主流编程语言都可以使用memcached了。其实即便是Python还没有公布出来的开源接口,我们也知道国内的web2.0网站豆瓣就是使用Python访问memcached,并且支持了极大的访问量,因此目前围绕memcached的开源项目发展的情况非常的繁荣。
memcached最近两年这么受欢迎,其实和互联网web2.0的流行有很大的关系,web2.0网站通常需要个性化页面,依赖于页面局部和数据细颗粒度的缓存来提升性能,并且web2.0网站流量都很大,因此memcached这种高性能分布式缓存服务器就大行其道了。
当然我觉得最具有革命意义的还是memcache_engine和
memcachedb这两个项目的发布,他们能够让memcached的用途不仅仅限于缓存服务器而已,而是能够真正充当分布式数据库来使用了,这无异是诸多大流量web2.0网站和开发人员的福音阿。
相关推荐
Memcache_engine是一个MySQL 5.1数据库的存储引擎
MySQL Memcache_engine的安装...Memcache_engine是一个MySQL 5.1数据库的存储引擎,它能够让用户通过标准的SQL语句(SELECT/UPDATE/INSERTE/DELETE)访问Memcached(还支持新浪的Memcachedb、dbcached)中存放的数据。
各种版本 PHP memcache_dll
$memcache = new Memcache; $memcache->connect("localhost",11211); echo "Server's version: " . $memcache->getVersion() . "\n"; $tmp_object = new stdClass; $tmp_object->str_attr = "test"; $tmp_object->...
php_memcache.dll+5.2+5.3
Windows_Memcache安装(XAMPP+Memcache+PHP) 安装步骤,详细说明
PHP5.3.27 的扩展 php_memcache.dll Or php_opcache.dll 测试平台:Windows 2008 R2 x64 (IIS7.5 FastCGI,Apache2.2.23,Apache2.4.3, Nginx 1.2.9) 包含 Non Thread Safe 和 Thread Safe 如果用的是 FastCGI 请...
按照实验过程编写,绝对真实实用。如假包换!童叟无欺!
$memcache = new Memcache; $memcache->connect("localhost",11211); echo "Server's version: " . $memcache->getVersion() . "\n"; $tmp_object = new stdClass; $tmp_object->str_attr = "test"; $tmp_...
memcache软件和+教程memcache软件和+教程
php数据库连接配合memcache_.docx
memcache_php使用测试
分布式、集群所需 tomcat8_memcache_session共享jar.zip
亲测可用,用的时候,将php-7.2.x_memcache.dl或者php-7.1.x_memcache.dll修改为php_memcache.dll...extension=php_memcache.dll...[Memcache] memcache.allow_failover = 1 ...memcache.default_port = 11211
-m 最大内存使用,单位MB。默认64MB -M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,默认是1024 -f 块大小增长因子,默认是1.25 -n 最小分配空间,key+value+flags默认是48 -h 显示帮助
Nginx+Memcache+Linux+Tomcat搭建的集群,大神勿喷
无需php-memcache扩展支持,引入单个文件即可连接memcached服务。 使用方法: $mc = new memcached(array( 'servers' => array('127.0.0.1:11211'), 'debug' => false, 'compress_threshold' => 10240, '...
php-7.2.x_memcache_winx64。最新版memcache支持库。2018-03-28 MSVC 15.6.4 / 19.13.26129 - Window Kit 10.0.16299.0 - Compiled with: PHP 7.2.4
上次给大家共享了一个memcache_cache_handler,为了使大家更容易测试,本人在此附上一个完整的示例代码,弥补目前smarty在memcache支持上的空白。希望smarty越来越好。
memcache + tomcat + tengin所用到的jar包