Spring Data Redis整体介绍 (一)
为什么使用Spring Data Redis
首先Spring Data Redis 是Spring 框架提供的用于操作Redis的客户端。
Spring框架是一个全栈Java程序框架,通过DI、AOP和便携的服务抽象提供一个轻量的容器和非侵入编程模型支持。
NoSQL存储为传统的关系型数据库提供了横向扩展和速度上的替代,Key-Value存储是目前NoSQL领域的主要成员。
Spring Data Redis(SDR)框架通过消除冗余的、重复的集成代码,使Spring程序能简单的使用Redis的Key-Value存储。
Spring Data Redis目前支持两种驱动:Jedis和Lettuce,可以看成是这两种驱动的统一封装,以高度统一的形式屏蔽了底层驱动的操作细节,向用户提供一种统一的API,大致结构如下:

将封装的层次分为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整体介绍 (一)的更多相关文章
- Spring Data Redis 让 NoSQL 快如闪电(2)
[编者按]本文作者为 Xinyu Liu,文章的第一部分重点概述了 Redis 方方面面的特性.在第二部分,将介绍详细的用例.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 把 Redis ...
- spring mvc Spring Data Redis RedisTemplate [转]
http://maven.springframework.org/release/org/springframework/data/spring-data-redis/(spring-data包下载) ...
- Spring Data Redis简介以及项目Demo,RedisTemplate和 Serializer详解
一.概念简介: Redis: Redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写,详细的信息在Redis官网上面有,因为我自己通过google等各种渠道去学习Redis, ...
- Spring Data Redis 让 NoSQL 快如闪电 (1)
[编者按]本文作者为 Xinyu Liu,详细介绍了 Redis 的特性,并辅之以丰富的用例.在本文的第一部分,将重点概述 Redis 的方方面面.文章系国内 ITOM 管理平台 OneAPM 编译呈 ...
- spring data redis使用1——连接的创建
spring data redis集成了几个Redis客户端框架,Jedis , JRedis (Deprecated since 1.7), SRP (Deprecated since 1.7) a ...
- Spring Data Redis —— 快速入门
环境要求:Redis 2.6及以上,javase 8.0及以上: 一.Spring Data Redis 介绍 Spring-data-redis是spring的一部分,提供了在srping应用中通过 ...
- Spring Data Redis学习
本文是从为知笔记上复制过来的,懒得调整格式了,为知笔记版本是带格式的,内容也比这里全.点这里 为知笔记版本 Spring Data Redis 学习 Version 1.8.4.Release 前言 ...
- Spring Data Redis入门示例:基于Jedis及底层API (二)
使用底层API:RedisConnectionFactory和RedisConnection可以直接操作Redis,下面是一个简单的例子: ### Maven依赖 <properties> ...
- 使用Spring Data Redis时,遇到的几个问题
需求: 1,保存一个key-value形式的结构到redis 2,把一个对象保存成hash形式的结构到redis 代码如下: // 保存key-value值 pushFrequency ...
随机推荐
- 使用oracle的保留字作为字段名称并进行操作的方法
项目中调取业主的数据库时发现,其中一个表的一个字段名为:update,所以当我用数据库查询语句进行查询的时候总会出错.从网上查询之后发现原来很简单,只要把update加上双引号就好了,例如: sele ...
- 安装phpwind报错
在安装phpwind时,下面的报错提示是什么原因呢? 答:数据库密码应设置为空
- HDU 5945 Fxx and game (DP+单调队列)
题意:给定一个 x, k, t,你有两种操作,一种是 x - i (0 <= i <= t),另一种是 x / k (x % k == 0).问你把x变成1需要的最少操作. 析:这肯定是 ...
- 微信支付接口调用问题(android正常,iphone调不起)
转自:http://blog.csdn.net/tt123123/article/details/53897035 碰到的问题 :根据微信提供的示例代码(ASP.NET),配置好一切后, 用andro ...
- c语言程序设计案例教程(第2版)笔记(一)—零散、输入输出、最小公倍数、选择排序、冒泡排序
零散知识点: 非格式化输入输出:getchar().putchar() 格式化输入输出 :scanf().printf() 字符串输入输出 :gets() 或 scanf().puts() 或 ...
- SpringMVC传递multiple类型select后台Controller的接收方法
Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是applica ...
- 人工智能(七)逻辑Agent
一.逻辑 逻辑是一种可以从中找出结论的形式化语言. 句法(规则)用语言定义句子. 语义定义句子的含义.定义一个句子的真假性. 二.蕴含 即一个事情逻辑上是另一个事情的必然结果:KB ╞ α 知识库KB ...
- 尺取法 POJ 3320 Jessica's Reading Problem
题目传送门 /* 尺取法:先求出不同知识点的总个数tot,然后以获得知识点的个数作为界限, 更新最小值 */ #include <cstdio> #include <cmath> ...
- windows deintall 12c client
1.unintall: close all oracle app C:\app\client\CICadmin\product\12.1.0\client_1\deinstall deinstall ...
- sql语句添加一列标示,然后进行分页。
,) , sum(Score) as Score ,Student_NO,Student_Name into #a2_tab from ksy_stu_ScoreInfo GROUP BY Stude ...