`

关于cache_fu插件的介绍和应用

阅读更多

      今天在项目中用到了插件cache_fu,这是一个基于memcached_client的缓存处理插件,刚开始的时候不知道怎么用,直接就到github下面clone到了vender/plugins下面了,接下来就不知道该做什么了,说白了就是没用过这个东西,不知道具体怎么使用,前面说了,这事一个基于memcached_client的插件,所以在安装前要确保你的项目里已经安装了这个gems,如果你不知道你是否安装了这个gems,那你可以到你的Gemfile(rails3.0)文件里面去看一下是否该项目已经绑定了这个gems,如果没有,那你就在Gemfile里面绑定.然后bundle install,之后再进行安装cache_fu,注意这个时候要用plugin的形式安装,因为你在用plugin形式安装的时候,这个插件会检查你的项目的plugins里面,scripts里面和你的config里面是否以及那个含有了相关memcached的配置文件,如果发现已经存在了,那么在安装过程中会报告给你共有多少个错误,但是具体是什么原因导致的错我并没有提示,后来经过看它的install.rb才发现,在安装的时候它会去检查上面说的三个文件夹内是否含有memcached的相关的配置文件,如果没有的话,它会自动创建相关的文件,这个时候你就会在config下面看见了一个memcached.yml的文件了,安装插件的命令: rails plugin install  https://github.com/kreetitech/cache_fu.git。

      关于cache_fu的用法:

class Category < ActiveRecord::Base
  acts_as_cached :ttl => 30.minutes  #给这个model设置缓存时间为30分钟

 

    保存数据以后让缓存失效

after_save :expire_cache

 

  def cached_children(apps_count=0)  #将该条件查询出的数据计入缓存,时间为30分钟
    Category.caches(:all_children_parent_state,
                    :ttl=>30.minutes, 
                    :withs => [self.id,1,apps_count])
  end

 

  def parent
    if self.parent_id && self.parent_id > 0
       Category.get_cache(self.parent_id)   #利用id加载数据到缓存
    else
      self
    end
  end

 

end

分享到:
评论

相关推荐

    ngx_cache_purge应用插件

    ngx_cache_purge应用插件是针对Nginx服务器的一个扩展模块,主要功能是实现缓存的清理和刷新。在Web服务器环境中,缓存是提高网站性能的重要手段,它能够存储频繁访问的静态资源,减少对后端服务器的压力。然而,当...

    ngx_cache_purge_2.4.2.tar.gz

    这个版本2.4.2的压缩包包含了ngx_cache_purge模块的所有源代码及相关文件,以便开发者在自己的Nginx环境中集成和使用。 Nginx是一款高性能、轻量级的Web服务器和反向代理服务器,广泛应用于互联网服务。其内置的...

    nginx缓存清除插件ngx_cache_purge.zip

    ngx_cache_purge 是 nginx 模块,此模块可以清理 nginx 的 FastCGI、proxy、 SCGI 和 uWSGI 的缓存。配置指令(相同位置语法)fastcgi_cache_purgesyntax: fastcgi_cache_purge on|off|&lt;method&gt; [from all|&lt;ip&gt; [.....

    详解Oracle数据库的db_cache_size和granule_size

    ### Oracle数据库中的db_cache_size与granule_size详解 #### 一、db_cache_size参数解析 **1. 参数定义** - **名称**: `DB_CACHE_SIZE` - **类型**: 大整数(Biginteger) - **语法格式**: `DB_CACHE_SIZE = ...

    nginx_cache_purge.zip

    从提供的文件名"ngx_cache_purge-2.3.tar.gz"和"ngx_cache_purge-master.zip"来看,这是插件的不同版本。通常,我们可以按照以下步骤进行安装: 1. 解压下载的源码包,例如:`tar -zxvf ngx_cache_purge-2.3.tar.gz...

    ngx_cache_purge-2.1.tar.gz

    ngx_cache_purge-2.1.tar.gz 是一个用于Nginx服务器的插件包,主要功能是实现缓存清理。Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于Web服务领域,而缓存机制则能显著提高静态资源的访问速度。ngx_cache_...

    Mycat处理连接数据库8.0以上程序报错query_cache_size

    本文将重点讨论"Mycat处理连接数据库8.0以上程序报错query_cache_size"的问题,以及如何通过Mycat的更新来解决这个问题。 Mycat是一款分布式数据库中间件,它允许应用程序以透明的方式连接到多台数据库服务器,实现...

    解决mycatJDBC8驱动连接Mycat1.6报错 Unknown system variable 'query_cache_size'

    3. **配置文件修改**:检查Mycat的配置文件,尤其是`server.xml`,移除所有关于`query_cache_size`的设置。确保其他相关配置如`useOldSyntax`、`sqlMode`等正确设置,以便Mycat能以兼容MySQL 8.0的方式运行。 4. **...

    cache.rar_cache verilog_cache vhdl_verilog cache_verilog cac_vh

    Verilog和VHDL是实现这一目标的强大工具,而“cache.rar_cache verilog_cache vhdl_verilog cache_verilog cac_vh”这个标题和相关标签暗示了文件集合可能提供了从理论到实践的全面缓存设计资源。通过学习和研究这些...

    ngx_cache_purge-1.3.tar.gz

    ngx_cache_purge-1.3 包含了这个插件的源代码和其他相关文件,允许你将其编译并集成到Nginx服务器中。以下是该插件的一些关键知识点: 1. **安装与配置**:首先,你需要在你的系统上安装Nginx和必要的构建工具,...

    Cache_enable.zip_ADI_Blackfin_adi blackfin_blackfin cache _cache

    在标题“Cache_enable.zip_ADI_Blackfin_adi blackfin_blackfin cache _cache”中,我们可以推测这是一个关于Blackfin处理器的缓存启用相关的代码库或者文档压缩包。"Cache_enable"暗示了这个资源可能包含了启动或...

    05-cache_v1.rar_cache_v1_s3c4510

    在“05-cache_v1.pdf”文档中,详细介绍了S3C4510处理器的Cache_v1配置、操作模式、缓存替换策略(如LRU或PLRU)、写策略(写直达、写回、写分配等)以及缓存一致性等问题。开发者需要掌握如何在编程时考虑缓存的...

    ngx_cache_purge-2.0.tar.gz

    6. **示例配置文件**:展示如何在Nginx配置中启用和配置ngx_cache_purge模块。 要使用ngx_cache_purge-2.0,你需要按照以下步骤操作: 1. **安装依赖**:确保你的系统上已经安装了Nginx的开发库和其他必要的编译...

    联想expresscache_setup_64

    expresscache安装程序 ExpressCache软件会自动在mSATA SSD硬盘上创建必要的缓存分区

    cpu_cache_interrupt.zip_cache_cache verilog_cache 中断_cpu流水_inter

    "cpu_cache_interrupt.zip_cache_cache verilog_cache 中断_cpu流水_inter"这个压缩包文件主要涉及到以下几个关键概念:Cache、Verilog、中断以及CPU流水线。接下来,我们将深入探讨这些主题。 1. **Cache**: Cache...

    IE_Cache_Recovery.rar_IE Cache Recove_IE Cache Recovery_IE cache

    在实际应用中,"IE_Cache_Recovery"可以用于多种场景,如网络取证、网页恢复、数据分析等。例如,网络安全专家可能通过分析缓存数据来追踪恶意活动;技术支持人员则可能借助它来解决用户丢失数据的问题。 综上所述...

    如何设置Squid Cache_mem大小.docx

    "Squid Cache_mem 设置...设置 Squid Cache_mem 大小需要编辑配置文件、设置 Cache_mem 和 Cache_dir 参数、设置允许所有人访问代理服务器等步骤。正确地设置 Squid Cache_mem 大小可以提高代理服务器的性能和稳定性。

    fsl_85xx_cache_sram.rar_cache_qoriq

    具体来说,`fsl_85xx_cache_sram.c`和`fsl_85xx_cache_sram.h`这两个文件很可能包含了实现这些功能的C语言源代码和头文件。 在`fsl_85xx_cache_sram.c`中,我们可以期待找到与QorIQ平台相关的缓存管理函数实现。这...

    利用 Cache_Lite代替codeigniter中的cache功能

    总结来说,将Cache_Lite集成到CodeIgniter项目中可以提供更精细的缓存控制,从而提高应用程序的性能和响应速度。虽然这需要额外的开发工作,但对于需要更高级缓存功能的复杂项目,Cache_Lite是一个值得考虑的优秀...

Global site tag (gtag.js) - Google Analytics