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 ...
随机推荐
- light oj 1205(数位DP)
题目描述: 求给定区间中的回文数有多少个? 首先明确一点,如果一个数是回文数,那么给这个数两边加上相同的数,那么这个数还是回文数. 根据这点就可以进行递推了,p[start][end]=9*p[sta ...
- zoom和transform scale
一.zoom zoom的字面意思是“变焦”,摄影的时候常用到的一个概念.对于web上的zoom效果,你也可以按照此概念理解.可以改变页面上元素的尺寸,属于真实尺寸. 在旧的web时代.*zoom: 1 ...
- JS计算字符串实际长度
http://www.qttc.net/201207136.html // UTF8字符集实际长度计算 function getStrLeng(str){ var realLength = 0; va ...
- linux文件名乱码时删除或改名的方式(转载)
转自:http://www.linuxsa.cn/when-linux-file-name-topsy-turvy-deleted-or-renamed.html linux文件名乱码时删除或改名的方 ...
- bzoj 2660: [Beijing wc2012]最多的方案【dp】
有点神奇的dp 首先注意到任意一个数都能被表示成若干个斐波那契数的和的形式 先求出n可以字典序最大的表示 设f[i][0/1]表示第i个斐波那契数选或者不选 如果当前数不选,那就选比他小的两个数,否则 ...
- SpringMVC异步调用,Callable和DeferredResult的使用
Callable和DeferredResult都是springMVC里面的异步调用,Callable主要用来处理一些简单的逻辑,DeferredResult主要用于处理一些复杂逻辑 1.Callabl ...
- div不换行
三种方法: 1.float <div class="div1">123</div> <div class="div2">45 ...
- React实战之将数据库返回的时间转换为几分钟前、几小时前、几天前的形式。
React实战之将数据库返回的时间转换为几分钟前.几小时前.几天前的形式. 不知道大家的时间格式是什么样子的,我先展示下我这里数据库返回的时间格式 ‘2019-05-05T15:52:19Z’ 是这个 ...
- 51nod1099 任务执行顺序
#include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int r,o; int s ...
- openssh安装、设置指定端口号、免密码登录、变量传递、防暴力破解
首先确保机器挂在好光盘镜像,然后查看软件包信息 [root@xuegod63 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev ...