zoukankan      html  css  js  c++  java
  • 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,大致结构如下:

    ![层次结构

    Spring Data Redis整体结构

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

    封装层次.jpg

    将封装的层次分为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

  • 相关阅读:
    MySql中的变量定义
    mysql常用脚本
    Spring中依赖注入的使用和配置
    在linux下通过sh运行java程序
    linux下shell脚本学习
    eclipse导出jar包
    mysql中游标的使用
    netty中LengthFieldBasedFrameDecoder的使用
    网络游戏服务器架构(转)
    H2 database的使用
  • 原文地址:https://www.cnblogs.com/Jxwz/p/8372297.html
Copyright © 2011-2022 走看看