memcachefs---memcache文件系统

memcachefs---memcache文件系统 一.介绍 memcached使用详解参见: http://www.ttlsa.com/html/673.html memcache设计的目的是内存缓存,而不是数据存储也不是高可用性存储库。 基于memcache开发的来扩展memcache应用有: 1.MySQL的memcached引擎 2.perl的apache session处理模块,如Apache::Session::Memcached,Apache::Session::Store::Memcached 3.repcached: 目的是为了解决memcache高可用性的问题,实现故障转移。具体参见: http://repcached.lab.klab.org/ 4.memcachedb: 持久性分布式的memcached数据库。具体参见: http://memcachedb.org/ 5.memcachefs: memcached文件系统。项目地址: http://memcachefs.sourceforge.net/ 下面将介绍memcachefs应用。 memcachefs是基于FUSE的memcached文件系统,将memcache服务挂载到本地。允许查看缓存中的数据,就好像是磁盘上的文件。 memcache的操作都将转换成针对普通文件般的操作。 二.使用场景 基于本地磁盘缓存文件都可以用memcachefs来实现,效率上比磁盘更强大。。比如session文件等等。 如果先前的session信息就存在本地磁盘上,可以直接将memcache挂载到当前session目录上,无需更改程序,完美解决。 三.安装 # apt-get install libfuse-dev libmemcache-dev //解决memcachefs依赖关系,否则安装失败。 # wget http://cdnetworks-kr-2.dl.sourceforge.net/project/memcachefs/memcachefs/0.5/memcachefs-0.5.tar.gz # tar zxvf memcachefs-0.5.tar.gz # cd memcachefs-0.5/ # ./configure # make # make install # memcachefs 127.0.0.1:11211 /cache //挂载到本地,也可将远程的memcache挂载到本地 # echo "value" > /cache/key //设置一个cache数据,文件名是键,文件内容是值。等同于set key value操作。 # cat /cache/key //获取cache数据。等同于get key操作。 # ll /cache/ //列出所有键。注意第五列不是指大小,而是表示字符长度。第六七列时间属性,挺有意思的。1969-12-31 16:00刚好是0(If the device is not able to be modeled the collection time is 0 or NULL.) -rw-rw-rw- 1 root root 6 1969-12-31 16:00 key -rw-rw-rw- 1 root root 5 1969-12-31 16:00 x.bak # rm /cache/key //删除cache数据,等同于delete key操作。 # mv /cache/x /cache/x.bak //重命名 # mount memcachefs on /cache type fuse.memcachefs (rw,nosuid,nodev) # umount /cache //卸载 # fusermount -u /cache //卸载 四.同时使用telnet客户端测试 # telnet 127.0.0.1 11211 set a 0 10 3 //10s过期。10s过后,/cache目录下的a文件将被删除。 aaa STORED get x.bak //telnet方法获取memcachfs设置的cache数据 VALUE x.bak 0 5 xxxx END # cat /cache/a //通过memcachefs获取键a数据 aaa

你可能感兴趣的:(memcache,memcachedb,memcachefs,repcached,fusermount)