宣布 GORM for Redis

工程 | Graeme Rocher | 2010 年 9 月 7 日 | ...

云平台兴起启发的主要运动之一是对传统关系数据库的替代存储技术的日益关注。其中一种存储机制是 Redis,它是一种高性能的键/值存储,在未来的云基础设施中发挥着重要作用。

Grails 社区对 Redis 产生了浓厚的兴趣,紧随 Redis 2.0.0 发布之后,我们很高兴地宣布推出 GORM for Redis Milestone 1

什么是 GORM for Redis?简而言之,它允许 Grails 开发人员使用诸如 动态查找器条件命名查询 等功能,从而可以利用 Redis 作为他们的底层存储而不是 Hibernate。

一旦您 启动并运行 Redis,您就可以从 Grails 命令行安装 GORM for Redis

grails install-plugin redis

如果您卸载 Hibernate 插件,那么 grails-app/domain 中的所有域类都将成为 Redis 实体,否则您可以使用以下代码将单个实体指定为可使用 Redis 持久化:

static mapWith = "redis"

一旦您准备好 Redis 域类,您就可以继续使用常规 GORM API 方法,例如 save()、delete()、动态查找器等。

如果您想构建自己的索引,还包含一个 较低级别的 API

def theSimpsons = Person.findAllByLastName("Simpson")
def list = redis.list("the.simpsons")
theSimpsons.each { list << it.id }

然后查询索引

def theSimpsons = redis.entities(Person, "the.simpsons")
theSimpsons.each {
    println it.firstName
}

有关使用较低级别 API 和其他功能的更多信息,请参阅完整文档。还有一个示例应用程序可供下载。

Redis 插件本身构建在 Inconsequential 代码库之上,该代码库被设计为 NoSQL 存储之上的抽象。我们还正在进行对其他替代存储(例如 Cassandra 和 JCR)的支持。

该项目是开源的,我们有兴趣与 NoSQL 社区合作,构建出类似于 GORM for Redis 中的支持。 有一个 GORM TCK,您可以针对实现运行该 TCK 以测试兼容性,我们将继续扩展该 TCK 以覆盖 GORM 的尽可能多的功能。

如果您有兴趣帮助我们完成我们的任务,请在 Inconsequential 邮件列表上给我们留言。

这是一个里程碑版本,因此我们有兴趣听取您的反馈,因为我们正在接近里程碑 2 和不可避免的最终版本。

享受吧!

获取 Spring 新闻简报

通过 Spring 新闻简报保持联系

订阅

取得领先

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部