写点什么

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

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

关注

评论

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

喜讯!腾讯团队Redis技术笔记,下载量已突破30W;附下载方式

Java架构师迁哥

应用架构步入“无服务器”时代,Serverless技术迎来新发展

华为云开发者联盟

Serverless 华为云 无服务器 可信云 FunctionGraph

模块 4 作业

鲲哥

Java岗熬了6年,终成P8,只因搞懂了这七件事

Java架构师迁哥

Github上“Java面试考点大全”被我扒下来了,20+互联网公司,应有尽有

Java架构师迁哥

探索科技手段下的食品安全,区块链冷链追溯平台建设解决方案

源中瑞-龙先生

MySQL数据库事务隔离性的实现

华为云开发者联盟

MySQL 数据库 事务 数据库隔离 事务隔离

大厂必问 iOS 面试题 - (上)

原来是泽镜啊

程序员 面试 ios开发

金三银四旗开得胜!春招字节正式批4面,顺利拿到offer

Java 程序员 架构 面试

领域驱动设计101 - 值对象

luojiahu

领域驱动设计 DDD

不是我吹!看完阿里高工码出Java150K字面试宝典,进大厂稳了

Java 程序员 架构 面试

Hive|如何避免数据倾斜

数据社

hive 5月日更

IDEA中request获取不到getParameter方法

咿呀呀

javaWeb Request getParameter

你是做敏捷与DevOps的,还是做掉敏捷与DevOps的?

刘华Kenneth

DevOps 敏捷 转型 教练

Nginx通过Cookie做灰度就这么简单

运维研习社

nginx 运维 灰度发布 5月日更

花5分钟手写一个简单的HashMap,搞定挑剔面试官

北游学Java

Java 面试 hashmap

kube-controller-manager之AD Cotroller源码分析

良凯尔

Kubernetes 源码分析 Ceph CSI

教你一招:让集群慢节点无处可藏

华为云开发者联盟

节点 GaussDB 集群 慢节点 慢实例

架构师实战营-模块4-设计千万级学生管理系统的考试试卷存储方案

吴建中

架构实战营

Django 之模板篇

若尘

django Template Pattern Python编程 5月日更 模板

由云入端:一场云计算巨头的闯关游戏

脑极体

一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识

华为云开发者联盟

MySQL 索引 时间戳 char int

iOS面试题--基础篇

ios 程序员 面试 编程之路

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java架构师迁哥

架构实战营 - 模块 5- 作业

泄矢的呼啦圈

架构实战营

从外包辞职再到入职字节那天,我落泪了,没人知道我付出了多少

Java架构师迁哥

接招吧!最强“高并发”系统设计 46 连问,分分钟秒杀一众面试者

面试 高并发 Java 25 周年

Mysql InnoDB使用的锁

water

太顶了!阿里大牛离职带出来的这份“Java架构核心宝典”学习笔记,差距不是一点点

Java 程序员 架构 面试

架构师成长之路

soho

iOS开发-60分钟入门

iOSer

ios iOS Document 移动开发 ios开发 iOS Developer

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