本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/01/spring-data-redis-1-0-0
近日,SpringSource 发布了用于将Redis轻松集成到Java应用中的开源库的首个稳定版。Redis是个由VMWare/SpringSource资助的键值存储,为一些高性能网站如GitHub与StackOverflow等所用。
Redis是新近涌现的NoSQL数据存储之一,它关注于简单性与性能(整个数据集放在内存中)。你可以通过大量命令来访问Redis,与其他众多的键值存储不同,除了基本的字符串外,Redis还支持额外的数据类型。下面列出Redis的一些命令:
set my-news-site INFOQ
=>OK
get my-news-site
=>"INFOQ"
set my-counter 22
=>OK
get my-counter
=>"22"
incr my-counter
=>(integer) 23
get my-counter
=>"23"
虽然Redis本身是用ANSI C编写的,但其提供了各种编程语言的客户端,包括Tcl、Go、SmallTalk、C#与Java。要想与Java集成,你可以使用如下库:
这么多选择表明社区参与的健康程度,但选择恰当的库进行开发可能会比较浪费时间。每个库都拥有自己的一套API、配置与文档。选择其中一个,然后决定升级到其他库并不是那么直接的事情。
Spring Data Redis是Spring Data umbrella项目的一部分,旨在促进在Spring环境下(已经实现了JPA/Hibernate)非关系数据库的使用。其主要目标是保证Spring Java应用中的可移植性与一致性。在其最底层,Spring Data Redis在每个Java Redis库之上提供了一个基本的抽象层。开发者面对的是统一的Spring Redis API,并且可以轻松在多种实现间切换(比如说出于性能原因等)。
Spring Data Redis提供了RedisConnection,这是针对Redis实例(类似于JPA EntityManager或是Hibernate Session)的短暂、非线程安全的连接抽象;还提供了RedisConnectionFactory,它用于创建这种连接(类似于JPA EntityManagerFactory或是Hibernate SessionFactory)。这些抽象在共同的编程接口之上隐藏了实际的实现机制,考虑到了Spring所支持的Java Redis库的轻松移植。
RedisConnection包含了所有的Redis命令,但使用的却是Java语法。你可以使用底层的键保存/检索命令通过该接口获得Redis的全部能量。上面的示例可以使用RedisConnection提供的Java set、get和incr命令编写。这么做最大的好处在于无论实际使用的是哪个Java库,这些命令能够保持一致。切换到不同的实现只需在Spring Context中修改单独一行配置即可:
<!-- Jedis ConnectionFactory -->
<bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"/>
<!-- JRedis ConnectionFactory -->
<bean id="connectionFactory" class="org.springframework.data.redis.connection.jredis.JredisConnectionFactory"/>
<!-- RJC ConnectionFactory -->
<bean id="connectionFactory" class="org.springframework.data.redis.connection.rjc.RjcConnectionFactory"/>
在高层,Spring Data Redis使用了RedisTemplate,它用于将整个Java对象直接存储到Redis中,而不仅仅是基本类型(比如说字符串与数字)。如下序列化方法支持都是开箱即用的:
- JDK序列化(默认方式)
- toString
- JSON(通过Jackson库)
- XML(通过Spring OXM模块)
要想了解更多信息,请观看这个介绍Redis与Spring Data Redis的视频、参考文档与Javadocs。Spring Data Redis的源代码托管在GitHub上。
查看英文原文:SpringSource Releases Spring Data Redis 1.0.0
分享到:
相关推荐
《SpringSource-spring-data-document-examples-1.0.0.M4-MongoDB-Examples》是SpringSource推出的一个示例项目,旨在展示如何使用Spring Data框架的文档支持与MongoDB数据库进行集成。该项目包含了1.0.0.M4版本的...
- **官方入门文档:** [Spring Data Redis官方文档](http://static.springsource.org/spring-data/data-redis/docs/current/reference/redis.html) - **深入学习资源:** 推荐几篇博客文章深入了解Redis的使用技巧...
jar包,官方版本,自测可用
com.springsource.javax.inject-1.0.0.jar
jar包,官方版本,自测可用
jar包,官方版本,自测可用
《深入理解com.springsource.org.aopalliance-1.0.0的jar包在Java EE中的核心作用》 在Java EE开发中,我们常常会遇到一个名为`com.springsource.org.aopalliance-1.0.0.jar`的库文件,它是Java企业级应用程序开发...
SpringSource CoreSpring 认证考试题库 SpringSource CoreSpring 认证考试题库是 SpringSource 公司推出的认证考试题库,旨在评估开发人员对 Spring 框架的理解和应用能力。本题库涵盖了 Spring 框架的各个方面,...
jar包,官方版本,自测可用
jar包,官方版本,自测可用
"com.springsource.org.aopalliance-1.0.0.jar"是Spring框架的一个关键组件,它包含了AOP Alliance库,这个库定义了AOP领域的一些通用接口,使得不同的AOP实现能够互相协作。 AOP(Aspect Oriented Programming,...
jar包,官方版本,自测可用
spring-roo-1.0.0.A2 Spring Roo 是SpringSource新的开放源码技术,该技术主要面向企业中的Java开发者,使之更富有成效和愉快的进行开发工作,而不会牺牲工程完整或灵活性。无论你是一个新的Java开发人员或经验丰富...
在Spring框架的AOP(面向切面编程)开发中,`com.springsource.org.aopalliance-1.0.0.jar`扮演着至关重要的角色。AOP Alliance是Spring和其他AOP框架之间的一个接口层,它提供了一个通用的API,使得不同的AOP实现...
- 文档提及的版本是Spring for Apache Hadoop 1.0.0.RELEASE,由VMware旗下SpringSource部门发布。 在开发Hadoop应用时,了解如何将Spring框架与Hadoop及其生态系统组件相结合,不仅可以帮助开发者简化配置和代码...
jar包,官方版本,自测可用
com.springsource.org.aopalliance-1.0.0.jar 。Spring的AOP开发依赖,AOP联盟jar。
com.springsource.org.codehaus.jackson.mapper-1.0.0.jar
jar包,官方版本,自测可用
jar包,官方版本,自测可用