写点什么

借助 EHCache,Rails 缓存重装上阵

  • 2008-08-21
  • 本文字数:633 字

    阅读完需:约 2 分钟

Rails 2.1 引入的新缓存特性,可以方便的缓存包括模型在内的任何东西。除基本文件、内存和DRb 存储以外, Memcached 是共享内存缓存的唯一解决方案。感谢 Dylan Stamat 的努力,现在 JRuby (on Rails) 可以使用流行的 Java 分布式缓存 EHCache 作为其新缓存存储的一部分。

在 JEE 的世界里,是使用 EHCache 还是 Memcached 来作为二级缓存的争论由来已久且甚为激烈。尽管Memcached 在LAMP 和RoR 的世界很流行( Linkedin.com 马上会转向它),但是EHCache 也被包括 Spring Hibernate 在内的很多项目所采用。出于将现有程序从 MRI Ruby 移植到 JRuby 的需求,Dylan Stamat将 EHCache 移植到了 JRuby ,添加了 EhcacheStore 作为新的缓存存储。

在 MRI 的世界里,我们使用的是 memcached,是一个 libmemcached 的 C 客户端的 Ruby 接口。它也是目前唯一支持一致性 hash 的 Ruby 程序库,需要在生产环境下工作。如果是 JRuby 的话,就很多不同的选择。一个是可以通过 JNA 或者 JRuby FFI 或者其他什么编写自己的 hook 到 libmemcached 中。另一个就是寻求 Java 其他的缓存解决方案,无疑 Ehcache 是首选了。

你对在 JRuby 使用 EHcache 怎么看?

查看英文原文: Rails Caching Reloaded With EHCache

InfoQ 的读者 Ray Krueger 评论道:

另 一个使用 JRuby 和 memcached 实现一致性 hash 的选择是使用 spymemcached 客户端。spymemcached 客户端是一个异步单线 程客户端,在 hibernate-memcached 项目下面工作的非常非常棒。我也在项目中使用过 spymemcached,性能很是不错。

2008-08-21 22:291368
用户头像

发布了 80 篇内容, 共 22.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

安全服务厂商安全狗加入龙蜥社区

OpenAnolis小助手

开源 网络安全 龙蜥社区 龙腾计划 安全狗

NFT链游系统开发|NFT卡牌盲盒游戏

薇電13242772558

NFT 链游

InfoQ 极客传媒 15 周年庆征文| 手把手带你入门 API 开发

宇宙之一粟

flask-restful 6月月更 InfoQ极客传媒15周年庆 API开发

测试开发【Mock平台】04实战:前后端项目初始化与登录鉴权实现

MegaQi

测试平台开发教程 测试干货 6月月更

测试流程如何落地?

老张

软件测试 质量保障

InfoQ 极客传媒 15 周年庆征文|uni-app 路由传参参数丢失问题解决方案探究

No Silver Bullet

前端 6月月更 InfoQ极客传媒15周年庆 路由传参

使用 Prometheus 监控 SAP ABAP 应用程序

汪子熙

云计算 Kubernetes 云原生 abap 6月月更

MySQL索引

龙空白白

索引 MySQL InnoDB

手把手教学直播:如何提交 PR 成为龙蜥社区贡献者? | 第 23 期

OpenAnolis小助手

开源 PR 龙蜥社区 龙蜥大讲堂 社区贡献

四次蝉联中国容器云市场TOP5!为应用赋能

BoCloud博云

云原生 容器技术 容器云 博云

Django 中的视图 | Python

海拥(haiyong.site)

Python django 6月月更

docker和docker compose安装使用、入门进阶案例

偶尔善良

Docker docker-co

Vone观点说|用DAO打造人类协作新形态

旺链科技

区块链 产业区块链 自组织协作

Paper Reading 预告 | Volcano-An Extensible and Parallel Query Evaluation System(众神推荐的 Paper 下载合集)

TiDB 社区干货传送门

TiDB Paper Reading

几个非常有用的 Flutter 技巧,你可以立即使用!

坚果

6月月更

面试突击57:聚簇索引=主键索引吗?

王磊

Java MySQL 面试

纯CSS 毛玻璃效果 💎

德育处主任

CSS 纯CSS 6月月更

企业知识管理就是信息化建设吗?

小炮

JavaScript异步函数async/await

大熊G

JavaScript 前端 6月月更

云原生技术 - 如何从代码到制作并发布一个 Helm 包?

孙健波

云原生 Helm

一个 Angular 程序员两年多的远程办公经验分享 | 社区征文

汪子熙

程序员 远程办公 Slack 6月月更 初夏征文

实战 | Kibana面板使用

写程序的小王叔叔

Kibana ELK Stack 6月月更

6大优势、2种类型,一文吃透动态应用安全测试(DAST)

SEAL安全

DevOps 网络安全 DevSecOps 软件安全

C#入门系列(十六) -- 类及其成员介绍

陈言必行

C# 6月月更

助力直播平台源码脱颖而出,要完成哪些关键功能?

开源直播系统源码

软件开发 直播源码

Linux开发_Makefile规则与Shell脚本语言

DS小龙哥

6月月更

【Python技能树共建】pyspider框架的使用

梦想橡皮擦

Python 6月月更

大数据培训Flink 简介与认知

@零度

flink 大数据开发

用 Golang 重写 rsync(3):C里面的谜之指针

百家饭隐私计算平台创业者

c

spring4.1.8扩展实战之五:改变bean的定义(BeanFactoryPostProcessor接口)

程序员欣宸

Java spring Spring Framework 6月月更

测试开发【Mock平台】05开发:项目管理(一)后端接口

MegaQi

测试平台开发教程 6月月更 测试技术干货

借助EHCache,Rails缓存重装上阵_Ruby_Sebastien Auvray_InfoQ精选文章