阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

SpringSource 发布 Spring Data Redis 1.0.0

  • 2012-01-29
  • 本文字数:1390 字

    阅读完需:约 5 分钟

近日, 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 中,而不仅仅是基本类型(比如说字符串与数字)。如下序列化方法支持都是开箱即用的:

  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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2012-01-29 03:494822
用户头像

发布了 88 篇内容, 共 258.5 次阅读, 收获喜欢 8 次。

关注

评论

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

28天瞎写的第二百二十天:独立设计维哈柯文云输入法的故事

树上

28天写作

生产服务器内存泄漏的排查过程与优化解决方案

冰三郎

Java jdk 问题排查 jetty

实时数仓|架构设计与技术选型

大数据老哥

大数据 实时数仓

第二课@听课笔记

糯米~

Reactive Spring实战 -- WebFlux使用教程

binecy

响应式编程 Reactive Spring

架构师训练营第 13 周课后练习

菜青虫

mvn install & mvn package

哼干嘛

第十三周作业

Jack

【CSS】多重边框

德育处主任

CSS css3 html/css CSS小技巧 28天写作

Soul网关源码阅读(五)请求类型探索

Java 源码分析 网关

药物研发的商业模式问题

lidaobing

28天写作 药物研发

不确定怎么选择,该怎么办?

Justin

不确定性 心理学 决策 28天写作

性能优化-3

raox

关于产品研发管理-《培思的力量》

Man

数字化转型 产品研发

没有源码调试!生产环境如何排除和优化 JVM?

码农架构

Java 架构 并发编程 JVM

极客大学·产品经理训练营·第一章作业

二大爷

产品经理 产品经理训练营

春天到底会在何时抵达「幻想短篇 9/28」

道伟

28天写作

股票作手回忆录读书笔记

.

28天写作

Redis 学习笔记 05:整数集合

架构精进之路

redis 七日更 28天写作

架构师训练营第 13 周学习总结

菜青虫

使用 Go Modules

Rayjun

go modules Go 语言

再理解控制反转/依赖倒置

luojiahu

控制反转

聊聊“公平感”

熊斌

学习 企业文化 管理 管理工具 28天写作

微信视频号知识地图 | 视频号28天(10)

赵新龙

28天写作

Spring源码-@Configuration注解解析

魔曦

架构师训练营第十三周作业1

韩儿

架构师训练营第十三周作业2

韩儿

Elasticsearch的基础分布式架构

escray

elasticsearch elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

架构师入门感悟之十三

笑春风

Week13 总结笔记

lggl

好书推荐--大数据日知录(深入理解大数据的必备书籍)附电子版下载

五分钟学大数据

大数据

SpringSource发布Spring Data Redis 1.0.0_Java_Kostis Kapelonis_InfoQ精选文章