写点什么

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:495230
用户头像

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

关注

评论

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

Go 语言为什么建议定义零值可用的结构体?

Java-fenn

Java

【荣耀帐号服务】手把手教你快速上手快应用接入

荣耀开发者服务平台

数据库 前端 手机 服务器 honor

【Go】go build失败,报方法undefined

非晓为骁

Go 编译 go build

如何通过C#/VB.NET在Excel中隐藏或显示网格线

在下毛毛雨

C# .net Excel

史上最全大厂面试题复盘总结,全会进大厂拿35K没问题(Java岗)

收到请回复

Java 云计算 开源 架构 编程语言

大数据培训机构如何选择

小谷哥

如何快速开发灵活自定义报表

力软低代码开发平台

经典面试题-定位不到元素

霍格沃兹测试开发学社

教你如何用CSS修改图片颜色

千锋IT教育

深圳web前端培训费用多少?

小谷哥

LED显示屏人屏互动未来已来

Dylan

户外LED显示屏 led显示屏厂家

阿里分布式全栈手册,整整1000页,太顶了

程序知音

Java 架构 分布式 阿里 后端技术

6个月我从小厂逆袭,薪资上涨70%,坐上美团L8技术专家!

收到请回复

Java 云计算 开源 架构 编程语言

与未来对话:PingCAP 用户峰会亮点全放送

PingCAP

#TiDB

设计模式之备忘录模式

Java-fenn

Java

低代码平台包罗万象,企业应该如何做出抉择?

ToB行业头条

mysql优化---如何搭建mysql的主从关系和mycat中间件

Java快了!

深入浅出用户态协议栈

C++后台开发

后台开发 TCP/IP 网络协议栈 C++开发 用户态协议栈

Java 异步编程 (5 种异步实现方式详解)

Java-fenn

Java

面试官:说说Java并发运行中的一些安全问题

Java-fenn

Java

京东云无线宝产品部负责人张晓东 : 京东云无线宝与开源的亲密关系 | 《大神详解开源 BUFF 增益攻略》讲座回顾

Apache IoTDB

物联网 京东云 企业号九月金秋榜

字节二面:Redis 的大 Key 对持久化有什么影响?

程序知音

Java 数据库 redis 字节跳动 面试

C++ 左值引用与 const 关键字

Java-fenn

Java

拼多多、蚂蚁、字节2022届(大三)后端研发暑期实习

Java-fenn

Java

【CSM认证】11月1-4日在线工作日班 | 全国招生

ShineScrum

项目管理 Scrum Scrum Master 敏捷项目管理

女生参加java培训前景如何

小谷哥

在武汉Java培训费用多少

小谷哥

Java培训可以从事哪些工作

小谷哥

21个大厂Offer?这份“Java核心技能精讲”轻松收割

收到请回复

Java 云计算 开源 架构 编程语言

快速构建基本的SpringCloud微服务

Java-fenn

Java

如何成为一个好的设计师 or 程序员?

宇宙之一粟

读书笔记 设计 技巧 知识 9月月更

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