`
debbbbie
  • 浏览: 26803 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails的memcache-client 下的namespace不起作用的问题

阅读更多

问题背景 :

       在做网上展会项目的时候,由于不同地区的工程文件同时使用了memcache, 举个例子,工程tja,工程tjb,工程tjc,工程tjd. tja..tjd都使用了memcache[:broadcast] = "欢迎参加展会"来存储管理员发送的广播消息.

       几个工程广播时不一样的,因此如果都存memcache[:broadcast] = "欢迎参加展会" 是不对的, 但本着不重复自己的原则,我又不想重新写四个memcache的键值,不然四个类似的工程代码,我要维持四份(目前的状况时,一份代码,四份配置) . memcache下提供了namespace方法,将namespace作为工程里所有memcache的key的前缀.

下面时官方给的一个配置

  1. require 'cache_money'  
  2. config = YAML.load(IO.read(File.join(RAILS_ROOT, "config""memcached.yml")))[RAILS_ENV]  
  3. $memcache = MemCache.new(config)  
  4. $memcache.servers = config['servers']  
  5. $local = Cash::Local.new($memcache)  
  6. $lock = Cash::Lock.new($memcache)  
  7. $cache = Cash::Transactional.new($local$lock)  
  8. class ActiveRecord::Base  
  9.   is_cached :repository => $cache  
  10. end   


----------------------memcached.yml下的东西------------------
其中

  1. production:  
  2.   ttl: 604800  
  3.   namespace: tja  
  4.   sessions: false  
  5.   debug: false  
  6.   servers: localhost:11211  

 
---------------------------------------------------------------------------
问题出现了,namespace怎么也不起作用. 进入memcache-client源码看下,发现memcache-client调用的是   @namespace    = opts[:namespace],
namespace时符号,而官方的文档给出的是
config = YAML.load(IO.read(File.join(RAILS_ROOT, "config", "memcached.yml")))[RAILS_ENV]
$memcache = MemCache.new(config)
解析出来的是字符串.
--------------------------------------解决方案-----------------------------

所以只需要把config下的键值从字符串,转化成符号就可以了.

分享到:
评论

相关推荐

    rails应用--导航栏实例工程

    在本项目"rails应用--导航栏实例工程"中,我们将探讨如何在Ruby on Rails框架下构建一个实用的导航栏。Rails是一个流行的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发过程更加高效且结构...

    rubycas-client-rails:RubyCAS-Client的Rails插件

    RubyCAS-客户端栏Rails插件,用于将RubyCAS-Client用作控制器过滤器。 这使用了Railtie,因此仅适用于Rails 3.0及更高版本。安装将以下内容添加到您的Gemfile : gem 'rubycas-client-rails'然后在Rails应用程序的根...

    rails2-sample

    MVC是Rails的核心架构之一,这一章节将详细介绍这三个组件的作用和相互关系。模型负责与数据库交互,管理数据;视图用于展示数据给用户;控制器则处理用户请求,协调模型和视图之间的操作。了解并正确运用MVC模式是...

    rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机.zip

    rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机 用于 Ruby on Rails 核心开发的虚拟机简介注意:这个虚拟机不是为 Rails 应用程序开发而设计的,只是为。 这个项目自动设置开发环境,以便在 Ruby on Rails ...

    Ruby on Rails 教程 - 201406

    在2014年的Rails教程中,你可能会学习到如何设置开发环境,安装Rails,创建新项目,理解Gemfile和Bundler的作用,以及如何使用Git进行版本控制。还会涉及控制器的创建、视图的渲染、模型的定义、数据库迁移以及表单...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    通过对比不同版本的源码,开发者可以深入理解Rails如何逐步演进,如何处理性能、安全性和可维护性等问题。同时,这也能帮助开发者更好地适应Rails的新特性,提升自己的Web开发技能。 在探索这些源码时,你可以关注...

    rails-metronic-client:与rails-metronic配套的客户端

    rails-metronic-client 与rails-metronic配套的客户端 AndroidAsync、ion、pull_library都是lib工程 都需要导入eclipse aWashCar需要重新配置百度的key,百度key是根据MD5生成的,由于每个人的机器都会生产自己的...

    js-namespace-rails:js-namespace-rails让您选择可以在rails资产管道中执行的javascript代码段

    js-namespace-rails可以通过使用它的方法来命名空间并根据哪个Rails控制器动作处于活动状态来选择性地执行某些JavaScript,从而解决此问题。 安装 将此行添加到您的应用程序的Gemfile中: gem 'js-namespace-rails...

    Agile Web Development with Rails 1-14节_ppt(老师发的修正版)

    Agile Web Development with Rails 1-14节_ppt(老师发的修正版)

    Learn Rails 5.2-2018

    《Learn Rails 5.2-2018》是一份重要的学习资源,专注于介绍2018年版本的Ruby on Rails框架。Ruby on Rails(RoR)是一个基于Ruby语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化和...

    rails-api-4.0.0

    《Rails API 4.0.0:Ruby on Rails框架的API设计与开发指南》 Rails API 4.0.0是Ruby on Rails框架的一个版本,专门针对构建应用程序接口(APIs)进行了优化。Ruby on Rails是由David Heinemeier Hansson创建的开源...

    rails3-railsconf2010

    在Rails社区内,“Selfish Bastard”有时用来描述那些为了框架本身的完美而牺牲用户便利性的决策,这可能意味着在Rails 3中采取了一些看似不友好的设计决策,但实际上是为了长远的框架健康和性能考虑。 #### 3. **...

    rails-documentation-2-0-2

    rails-documentation-2-0-2

    rails3-mongoid-devise, 示例 Rails 3.2应用,带有数据 Mongoid,用于验证.zip

    rails3-mongoid-devise, 示例 Rails 3.2应用,带有数据 Mongoid,用于验证 Rails 4.1有关设计的Rails 4.1示例应用程序,请参见:rails设计有一个用于设计的教程:Rails 设计教程。类似示例和教程这是来自 RailsApps...

    rails-with-prometheus-metrics:使用prometheus-client gem的基本Rails应用程序

    此应用程序仅使用prometheus-client gem来显示路由/metrics下与流量相关的/metrics 。 信息 根据,我们实际需要的是: Gemfile gem 'prometheus-client' config.ru require_relative 'config/environment' ...

    todo-rails4-angularjs, Rails 4和AngularJS集成的展示.zip

    todo-rails4-angularjs, Rails 4和AngularJS集成的展示 Rails 4和AngularJS集成的展示这是一个待办事项列表管理应用程序,用 Rails 4和AngularJS编写。 任务支持CRUD操作以及drag&拖放排序和通过弹出式日历设置的...

    rails-memcache-dalli:在Rails应用程序中使用Dalli使用Memcache实现缓存

    这样做的问题是,在生产中,我们经常有多个Rails实例在运行,并且每个实例都会有自己的缓存存储,这并不是对资源的充分利用。 文件存储适用于较小的应用程序,但是效率不高,因为读取和写入硬盘驱动器相对较慢。 ...

    rails-beginner-s-guide

    rails-beginner-s-guide是Rails 指导手册,帮组学习了解rails开发

Global site tag (gtag.js) - Google Analytics