写点什么

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

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

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

关注

评论

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

如何快速打通镜像发布流程?

鲸品堂

镜像

七日算法先导(七)——字符串

工程师日月

8月月更

富媒体在客服IM消息通信中的秒发实践

得物技术

前端 即时通讯 客服 富媒体 大文件传输

在北京参加UI设计培训到底怎么样?

小谷哥

StratoVirt 中的虚拟网卡是如何实现的?

openEuler

开源 openEuler Open Source 内核态 虚拟网卡

浅谈一线互联网大厂中算法岗的分类

码农鬼仔

数据挖掘 AI 算法工程师 校招 机器学习/深度学习

OpenSSF的开源软件风险评估工具:Scorecards

SEAL安全

开源 开源安全 软件供应链安全 开源合规 开源工具包

对话跨国消费品牌DPO:数据安全合规从何做起?8.11直播见!

奇点云

数据治理 数据安全 数据合规

程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果

HarmonyOS SDK

大数据培训课程如何选?

小谷哥

java培训中心有哪些

小谷哥

electron 应用开发优秀实践

vivo互联网技术

前端 Web Electron 桌面开发

收到人生第一笔五位数工资

Amazing_eve

#开源

前端该如何优雅地 Mock 数据

CRMEB

自从我使用HiFlow场景连接器后,在也不用担心成为“落汤鸡”了

叶秋学长

Hiflow

美的数字化平台 iBUILDING 背后的技术选型

TDengine

数据库 tdengine database

你知道 Vue scoped 原理吗?这波你在第几层?

掘金安东尼

面试 前端 8月月更

java软件培训费用怎么算

小谷哥

程序员为什么一定要用Linux?

TimeFriends

8月月更

MySQL索引的B+树到底有多高?

转转技术团队

MySQL 索引

开源一夏 |最好用的脚本语言--JavaScript

叶秋学长

开源 前端 js 8月月更

一文看懂大数据生态圈完整知识体系

博文视点Broadview

集群部署spark、Hadoop环境

峥岳

hadoop spark hive

使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令

汪子熙

Linux unix SAP abap 8月月更

研发需求的验收标准应该怎么写? | 敏捷实践

LigaAI

程序员 产品经理 敏捷开发 研发管理 开发流程

API接口是什么?API接口常见的安全问题与安全措施有哪些?

郑州埃文科技

API接口管理 非对称加密 md5 令牌桶算法

web前端培训课程怎么选择

小谷哥

看漫画MHGmhgui,Python爬虫之神奇的eval,附赠一个压缩模块

梦想橡皮擦

Python 爬虫 8月月更

人物 | 从程序员到架构师,我是如何快速成长的?

安势信息

程序员 职场 架构师 程序员进阶 人物访谈

七日算法先导(六)——堆排序,桶排序

工程师日月

8月月更

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