SpringSource发布Spring Data Redis 1.0.0

标签: springsource spring data | 发表时间:2012-01-29 17:49 | 作者:
出处:http://pipes.yahoo.com/pipes/pipe.info?_id=10560380f804c7341f042a2b8a03e117

近日, 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 setgetincr命令编写。这么做最大的好处在于无论实际使用的是哪个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中,而不仅仅是基本类型(比如说字符串与数字)。如下序列化方法支持都是开箱即用的:

  1. JDK序列化(默认方式)
  2. toString
  3. JSON(通过 Jackson库)
  4. XML(通过Spring OXM模块

要想了解更多信息,请观看这个介绍Redis与Spring Data Redis的 视频参考文档Javadocs。Spring Data Redis的源代码托管在 GitHub上。

查看英文原文: SpringSource Releases Spring Data Redis 1.0.0

译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。

相关 [springsource spring data] 推荐:

SpringSource发布Spring Data Redis 1.0.0

- - InfoQ cn
近日, SpringSource 发布了用于将Redis轻松集成到Java应用中的开源 库的首个稳定版. Redis是个由VMWare/SpringSource资助的键值存储,为一些高性能网站如GitHub与StackOverflow等所用. Redis是新近涌现的NoSQL数据存储之一,它关注于简单性与性能(整个数据集放在内存中).

SpringSource通过Spring for Android 1.0将Spring Framework引入到Android上

- - CSDN博客推荐文章
本文来源于我在InfoQ中文站翻译的文章,原文地址是: http://www.infoq.com/cn/news/2012/07/spring-for-android-1.0 近日, SpringSource发布了Spring for Android 1.0. Spring for Android是Spring Framework的扩展,有助于简化原生Android应用的开发.

Spring Data JPA 简单介绍

- tangfl - BlogJava-首页技术区
考虑到公司应用中数据库访问的多样性和复杂性,目前正在开发UDSL(统一数据访问层),开发到一半的时候,偶遇SpringData工程. 于是就花了点时间了解SpringData,可能UDSL II期会基于SpringData做扩展. 介绍:针对关系型数据库,KV数据库,Document数据库,Graph数据库,Map-Reduce等一些主流数据库,采用统一技术进行访问,并且尽可能简化访问手段.

spring data jpa简单实例

- - 编程语言 - ITeye博客
我们都知道Spring是一个非常优秀的JavaEE整合框架,它尽可能的减少我们开发的工作量和难度.   在持久层的业务逻辑方面,Spring开源组织又给我们带来了同样优秀的Spring Data JPA.   通常我们写持久层,都是先写一个接口,再写接口对应的实现类,在实现类中进行持久层的业务逻辑处理.

了解 Spring Data JPA - hungerW

- - 博客园_首页
自 JPA 伴随 Java EE 5 发布以来,受到了各大厂商及开源社区的追捧,各种商用的和开源的 JPA 框架如雨后春笋般出现,为开发者提供了丰富的选择. 它一改之前 EJB 2.x 中实体 Bean 笨重且难以使用的形象,充分吸收了在开源社区已经相对成熟的 ORM 思想. 另外,它并不依赖于 EJB 容器,可以作为一个独立的持久层技术而存在.

Spring Data JPA,基础学习笔记.

- - ITeye博客
最好先学习 JPA 方面的知识....在这里使用的是 Hibernate. 也已经使用了一段时间,看什么都不如看官方文档,我这里也只是写个笔记记录一下,如果能帮助到其他人,很开心 .算是个 demoshow 吧.这里也只写了一些我觉得比较有用的地方.其他一些使用知识,请参见官方文档:http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/.

文章: Spring Data —— 完全统一的API?

- - InfoQ cn
Spring Data 作为SpringSource的其中一个父项目, 旨在统一和简化对各类型持久化存储, 而不拘泥于是关系型数据库还是NoSQL 数据存储. 白皮书下载:JBoss Enterprise Application Platform 6迁移指南. 白皮书下载:从虚拟化到云:在云中优化和自动化IT.

使用 Spring Data JPA 简化 JPA 开发

- -
Spring Data JPA 让一切近乎完美. 通过前面的分析可以看出,Spring 对 JPA 的支持已经非常强大,开发者只需关心核心业务逻辑的实现代码,无需过多关注 EntityManager 的创建、事务处理等 JPA 相关的处理,这基本上也是作为一个开发框架而言所能做到的极限了. 然而,Spring 开发小组并没有止步,他们再接再厉,于最近推出了 Spring Data JPA 框架,主要针对的就是 Spring 唯一没有简化到的业务逻辑代码,至此,开发者连仅剩的实现持久层业务逻辑的工作都省了,唯一要做的,就只是声明持久层的接口,其他都交给 Spring Data JPA 来帮你完成.

使用Java 8 Streams和Spring Data JPA流式传输MySQL结果

- -
2015年10月19日|  KrešimirNesek. 从1.8版开始,Spring数据项目包含一个有趣的功能 - 通过一个简单的API调用,开发人员可以请求将数据库查询结果作为Java 8流返回. 在技​​术上可行并且由底层数据库技术支持的情况下,结果将逐个流式传输,并且可以使用流操作进行处理.

在Spring Data JPA中使用Update query更新实体

- -
使用诸如Hibernate之类的对象关系映射(ORM)工具,通常通过首先从数据库中获取实体,修改某些字段,然后再次持久化实体来修改实体. 在许多情况下,这是一种很好的方法,但在某些情况下,这可能并不理想. 例如,如果要更新实体集合(即数据库中的行),或者需要大量数据来构造实体对象. 在后一种情况下,例如,可能需要太多资源来组装实体对象以仅改变单个字段的值.