为什么使用Spring Data Redis

首先Spring Data RedisSpring 框架提供的用于操作Redis的客户端。
Spring框架是一个全栈Java程序框架,通过DIAOP和便携的服务抽象提供一个轻量的容器和非侵入编程模型支持。
NoSQL存储为传统的关系型数据库提供了横向扩展和速度上的替代,Key-Value存储是目前NoSQL领域的主要成员。
Spring Data Redis(SDR)框架通过消除冗余的、重复的集成代码,使Spring程序能简单的使用Redis的Key-Value存储。

Spring Data Redis目前支持两种驱动:Jedis和Lettuce,可以看成是这两种驱动的统一封装,以高度统一的形式屏蔽了底层驱动的操作细节,向用户提供一种统一的API,大致结构如下:

![层次结构

Spring Data Redis整体结构

Spring Data RedisSpring Data家族的其他数据操作如:Spring Data JDBC,以类似的结构进行封装,降低用户的学习成本;只要使用过其中一种Spring Data技术,对其他的数据源操作能依葫芦画瓢的进行,封装的整体结构如下:

将封装的层次分为4部分:
1) 底层的工厂层和连接层,这里会依据驱动的不同而有不同的实现;连接层可以直接与Redis Server进行交互,采用二进制数据和命令进行。
2) 模板层是对连接层的进一步封装,对Redis的每种数据类型,都封装一个操作类,与Redis Server进行交互,如String类型的ValueOperations;而RedisTemplate持有所有类型操作的引用,所以可以直接通过定义RedisTemplate对Redis进行操作;RedisTemplate封装了通用的操作,如删除key,设置过期时间,对不同数据类型的操作通过具体的操作类进行。
3) 键绑定层是对模板层的更进一步封装,每个类型的实例只能操作单一的键值(实例化时已经指定了键)

系统要求与学习资料

Spring Data Redis的系统要求:Spring Data Redis 1.x --> JDK 1.6 + 、Redis 2.6.x +

常用的Redis Java客户端有:Jedis、Lettuce、Redison、Spring Data Redis,对应的学习资料如下:
Jedis:https://github.com/xetorthio/jedis/wiki
Lettuce:https://github.com/lettuce-io/lettuce-core/wiki
Redison:https://github.com/redisson/redisson
SPR:https://docs.spring.io/spring-data/redis/docs/2.0.2.RELEASE/reference/html/
更多客户端参照:http://www.redis.net.cn/clients/#java

Spring Data Redis整体介绍 (一)的更多相关文章

  1. Spring Data Redis 让 NoSQL 快如闪电(2)

    [编者按]本文作者为 Xinyu Liu,文章的第一部分重点概述了 Redis 方方面面的特性.在第二部分,将介绍详细的用例.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 把 Redis ...

  2. spring mvc Spring Data Redis RedisTemplate [转]

    http://maven.springframework.org/release/org/springframework/data/spring-data-redis/(spring-data包下载) ...

  3. Spring Data Redis简介以及项目Demo,RedisTemplate和 Serializer详解

    一.概念简介: Redis: Redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写,详细的信息在Redis官网上面有,因为我自己通过google等各种渠道去学习Redis, ...

  4. Spring Data Redis 让 NoSQL 快如闪电 (1)

    [编者按]本文作者为 Xinyu Liu,详细介绍了 Redis 的特性,并辅之以丰富的用例.在本文的第一部分,将重点概述 Redis 的方方面面.文章系国内 ITOM 管理平台 OneAPM 编译呈 ...

  5. spring data redis使用1——连接的创建

    spring data redis集成了几个Redis客户端框架,Jedis , JRedis (Deprecated since 1.7), SRP (Deprecated since 1.7) a ...

  6. Spring Data Redis —— 快速入门

    环境要求:Redis 2.6及以上,javase 8.0及以上: 一.Spring Data Redis 介绍 Spring-data-redis是spring的一部分,提供了在srping应用中通过 ...

  7. Spring Data Redis学习

    本文是从为知笔记上复制过来的,懒得调整格式了,为知笔记版本是带格式的,内容也比这里全.点这里 为知笔记版本 Spring Data Redis 学习 Version 1.8.4.Release 前言 ...

  8. Spring Data Redis入门示例:基于Jedis及底层API (二)

    使用底层API:RedisConnectionFactory和RedisConnection可以直接操作Redis,下面是一个简单的例子: ### Maven依赖 <properties> ...

  9. 使用Spring Data Redis时,遇到的几个问题

    需求: 1,保存一个key-value形式的结构到redis 2,把一个对象保存成hash形式的结构到redis 代码如下: // 保存key-value值         pushFrequency ...

随机推荐

  1. linux 忘记root(这里以centos 6.5为例)密码的解决办法

    在使用linux的过程中有时候会忘记root用户的密码(尤其是进行交接而文档内容不全的时候),这个时候我们就可以进入单用户模式来重置root用户密码.下面来讲解重置root密码的方式,也可以说是破解r ...

  2. 3.jeesite主从表开发

    1. 2 3. 4. 5. 6. 7. 8. 9. 10.

  3. win7下IIS7.0虚拟目录不存在的问题

    问题:在IIS7.0下选中虚拟目录,右边浏览应用程序下,自动打开浏览器找开虚拟目录下的网站,但过一会什么都没有改变,再一次右边浏览应用程序,就提示 “虚拟目录不存在”. 解决方法:右键网站或下面的虚拟 ...

  4. Extjs4 登陆界面

    原文地址:http://fengxinnl.iteye.com/blog/1950585 <script src="ext4.2/bootstrap.js" type=&qu ...

  5. UVa 11401 Triangle Counting (计数DP)

    题意:给定一个数 n,从1-n这些数中任意挑出3个数,能组成三角形的数目. 析:dp[i] 表示从1-i 个中任意挑出3个数,能组成三角形的数目. 代码如下: #pragma comment(link ...

  6. vs2013 安装 mvc5 的方法

    工具-->NuGet程序包管理器-->程序包管理器控制台 然后 PM>Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

  7. _bzoj2818 Gcd【线性筛法 欧拉函数】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2818 若gcd(x, y) = 1,则gcd(x * n, y * n) = n.那么,当y ...

  8. 贪心 CodeForces 124B Permutations

    题目传送门 /* 贪心:全排列函数使用,更新最值 */ #include <cstdio> #include <algorithm> #include <cstring& ...

  9. magento 自建插件通道服务

    首先建立如下的目录结构 在channel.xml中如此写上 <channel> <name>local</name> <uri>http://local ...

  10. spring入门笔记-(一)、spring boot HelloWorld

    什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员 ...