写点什么

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

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

关注

评论

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

【Node.js】静态页面和简单的路由

德育处主任

大前端 Node 28天写作

牛啤了!阿里技术官整理的这份《Java面试手册5000题》已经成功让数百名社招生“圆梦BATJ”

Java 编程 面试

28天瞎写的第二百一二天:一次删库没跑路的故事

树上

28天写作 删库

架构师训练营第 1 期 - 第 12 周 - 学习总结

wgl

「架构师训练营第 1 期」

写在再次学习python之前-why篇

赵开忠

Python 28天写作

网络工程师职业指南

腾讯T3面试官透露!360°深入了解Flutter,聪明人已经收藏了!

欢喜学安卓

android 程序员 面试 移动开发

LeetCode题解:17. 电话号码的字母组合,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

生产环境全链路压测建设历程 24:FAQ 5、6负载均衡、如何不影响正常业务?

数列科技杨德华

28天写作

技术人小故事-团队愿景篇-第1段

Ian哥

28天写作

缓存穿透,缓存击穿,缓存雪崩

en

redis 缓存穿透 缓存击穿 缓存并发

谬误词典:置信度

lidaobing

随机漫步的傻瓜 28天写作 谬误词典

职业成长就是一个逐渐“变帅”的过程

L3C老司机

区块链的前世今生(1)

抗哥

CSS10 - 盒子模型&常用无序列表样式

Mr.Cactus

html/css

MySQL中的哥哥表、妹妹字段,是什么鬼?

Java MySQL 数据库

架构师第 3 课作业及学习总结

小诗

「架构师训练营第 1 期」

架构师训练营 1 期 - 第 十四周总结(vaik)

行之

「架构师训练营第 1 期」

jstat使用实用教程

JavaPub

Java JVM

架构师训练营第 1 期 - 第 12 周 - 命题作业

wgl

架构师训练营第 1 期

芯片破壁者(二十四):1987战役启示录

脑极体

【薪火计划】08 - 非暴力沟通

码上生长

管理 28天写作

架构师第 4 课作业及学习总结

小诗

「架构师训练营第 1 期」

SafePoint 与 Stop The World 全解(基于OpenJDK 11版本)

AI乔治

Java 架构 jdk JVM

手把手教你如何巧用Github的Action功能

flutter android 持续集成

意识会在哪个早晨降落——「幻想短篇1/28」

道伟

28天写作

记一次JVM OOM 实战优化

AI乔治

Java 架构 JVM OOM

【计算机内功修炼】三:一文彻底理解IO多路复用

码农的荒岛求生

epoll

kill -9 导致 kafka 重启失败的惨痛经历!

AI乔治

Java kafka 架构

资深大牛带你了解源码!阿里内部Android笔记火爆IT圈,醍醐灌顶!

欢喜学安卓

android 程序员 面试 移动开发

SpringBoot系列1——概述和快速入门

程序员的时光

springboot 七日更 28天写作

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