memcachefs---memcache文件系统
一.介绍文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
memcached使用详解参见: https://www.ttlsa.com/html/673.html文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
memcache设计的目的是内存缓存,而不是数据存储也不是高可用性存储库。文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
基于memcache开发的来扩展memcache应用有:文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
1.MySQL的memcached引擎文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
2.perl的apache session处理模块,如Apache::Session::Memcached,Apache::Session::Store::Memcached文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
3.repcached: 目的是为了解决memcache高可用性的问题,实现故障转移。具体参见: http://repcached.lab.klab.org/文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
4.memcachedb: 持久性分布式的memcached数据库。具体参见: http://memcachedb.org/文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
5.memcachefs: memcached文件系统。项目地址: http://memcachefs.sourceforge.net/文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
下面将介绍memcachefs应用。文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
memcachefs是基于FUSE的memcached文件系统,将memcache服务挂载到本地。允许查看缓存中的数据,就好像是磁盘上的文件。文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
memcache的操作都将转换成针对普通文件般的操作。文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
二.使用场景文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
基于本地磁盘缓存文件都可以用memcachefs来实现,效率上比磁盘更强大。。比如session文件等等。 如果先前的session信息就存在本地磁盘上,可以直接将memcache挂载到当前session目录上,无需更改程序,完美解决。文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
三.安装文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
# apt-get install libfuse-dev libmemcache-dev //解决memcachefs依赖关系,否则安装失败。文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
# wget http://cdnetworks-kr-2.dl.sourceforge.net/project/memcachefs/memcachefs/0.5/memcachefs-0.5.tar.gz文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
# tar zxvf memcachefs-0.5.tar.gz文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
# cd memcachefs-0.5/文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
# ./configure文章源自运维生存时间-https://www.ttlsa.com/memcache/memcachefs-memcache/
# 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
评论