热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Memcache文件系统memcachefs部署和使用-mysql教程

Memcache文件系统memcachefs部署和使用介绍memcachefs是基于FUSE的memcached文件系统,将memcache服务挂载到本地。允许查看缓存中的数据,就好像是磁盘上的文件

Memcache文件系统memcachefs部署和使用介绍memcachefs是基于FUSE的memcached文件系统,将memcache服务挂载到本地。允许查看缓存中的数据,就好像是磁盘上的文件

Memcache文件系统memcachefs部署和使用



介绍


memcachefs是基于FUSE的memcached文件系统,将memcache服务挂载到本地。允许查看缓存中的数据,就好像是磁盘上的文件。memcache的操作都将转换成针对普通文件般的操作。


项目地址:

使用场景


基于本地磁盘缓存文件都可以用memcachefs来实现,效率上比磁盘更强大。。比如session文件等等。 如果先前的session信息就存在本地磁盘上,可以直接将memcache挂载到当前session目录上,无需更改程序,完美解决。

安装


1.安装依赖(使用root安装)


依赖

  • FUSE 2.5 or later

  • libmemcache 1.4 or later

  • a)安装fuse-2.9.3.tar.gz

    cd /tmp wget tar zxvf fuse-2.9.3.tar.gz cd fuse-2.9.3 ./configure make make install


    b)挂载fuse内核模块

    modprobe fuse lsmod | grep "fuse"


    c)安装libmemcache-1.4.0.rc2.tar.bz2

    cd /tmp wget ~seanc/libmemcache/libmemcache-1.4.0.rc2.tar.bz2 tar xvf libmemcache-1.4.0.rc2.tar.bz2 cd libmemcache-1.4.0.rc2 ./configure make


    编译出错,输出如下:

    memcache.c: At top level: ../include/memcache/buffer.h:73: warning: inline function 'mcm_buf_remain_off' declared but never defined ../include/memcache/buffer.h:72: warning: inline function 'mcm_buf_remain' declared but never defined ../include/memcache/buffer.h:66: warning: inline function 'mcm_buf_len' declared but never defined ../include/memcache/buffer.h:73: warning: inline function 'mcm_buf_remain_off' declared but never defined ../include/memcache/buffer.h:72: warning: inline function 'mcm_buf_remain' declared but never defined ../include/memcache/buffer.h:66: warning: inline function 'mcm_buf_len' declared but never defined


    解决方法,参考:

    wget 'http://svnweb.freebsd.org/ports/head/databases/libmemcache/files/patch-fix-inline?revision=248965&view=co' -O libcache.patch patch -p0

    再次

    make make install

    2.下载安装memcachefs

    mkdir /usr/local/memcachefs cd /tmp wget tar -zxvf memcachefs-0.5.tar.gz cd memcachefs-0.5 ./configure --prefix=/usr/local/memcachefs make make install cd /usr/local/memcachefs

    3.挂载memcached

    mkdir /usr/local/cache ./bin/memcachefs 192.168.11.52:11211 /usr/local/cache #将远程的memcache挂载到本地


    报错如下:

    “./bin/memcachefs: error while loading shared libraries: libmemcache.so.0: cannot open shared object file: No such file or directory”


    解决方法:

    将/usr/local/lib添加到/etc/ld.so.conf

    echo "/usr/local/lib" >> /etc/ld.so.conf /sbin/ldconfig


    查看挂载情况:

    mount -l

    memcachefs on /usr/local/cache type fuse.memcachefs (rw,nosuid,nodev)

    使用


    1.基本操作

    cd /usr/local echo "helloworld" > cache/test_key #设置一个cache数据,文件名是键,,文件内容是值。等同于set key value操作。 cat cache/test_key #获取cache数据。等同于get key操作。 ll cache/ #列出所有键。注意第五列不是指大小,而是表示字符长度。第六七列时间属性。 rm cache/test_key #删除cache数据,等同于delete key操作。 mv cache/username cache/username.bak #重命名

    2.卸载

    # mount #查看挂载 # umount /usr/local/cache #卸载 # fusermount -u /usr/local/cache #卸载


    3.使用telnet客户端测试


    set a 0 10 3 #10s过期。10s过后,cache目录下的a文件将被删除。

    get username.bak #telnet方法获取memcachfs设置的cache数据

    cat cache/a #通过memcachefs获取键a数据

    [root@test01 local]# telnet 192.168.11.52 11211 Trying 192.168.11.52... Connected to 192.168.11.52. Escape character is '^]'. set a 0 10 3 aaa STORED get username.bak VALUE username.bak 0 6 ryanxu END quit Connection closed by foreign host. [root@test01 local]# cat cache/a aaa


    本文出自 “SQL Server Deep Dives” 博客,请务必保留此出处

    推荐阅读
    • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
    • 本文由编程笔记#小编为大家整理,主要介绍了python面试题——数据库和缓存(46题)相关的知识,希望对你有一定的参考价值。1、列举常见的关系型数据库和非关系型都有那些? ... [详细]
    • TheProblem:-Iwhanttoperiodicalymakeabackupofmydatabase,forthispurpose ... [详细]
    • 数据库基本介绍
      1、数据库基本知识概念:数据库:database(DB),是一种存储数据的仓库数据库是根据数据结构组织、存储和 ... [详细]
    • 现象:开发过程中,需要DBA帮忙执行SQL,发送右键时,从浏览器上复制的SVN路径是一串乱码问题:如何实现复 ... [详细]
    • 基于PgpoolII的PostgreSQL集群安装与配置教程
      本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
    • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
    • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
    • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
      本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
    • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
    • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
    • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
    • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
    • Oracle Database 10g许可授予信息及高级功能详解
      本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
    • Centos下安装memcached+memcached教程
      本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
    author-avatar
    手机用户2502923697
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有