spring-data-redis之RedisTemplate之基础理论

Spring Data Redis 实践 关于Spring Data Redis的简单应用以及1.7新特性Redis Repositories简介~ 阅读详情

RedisTemplate只能对Redis数据库进行增删查操作。

 

Redis 数据结构简介

Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。

下面来对这5种数据结构类型作简单的介绍:

结构类型结构存储的值结构的读写能力
String可以是字符串、整数或者浮点数对整个字符串或者字符串的其中一部分执行操作;对象和浮点数执行自增(increment)或者自减(decrement)
List一个链表,链表上的每个节点都包含了一个字符串从链表的两端推入或者弹出元素;根据偏移量对链表进行修剪(trim);读取单个或者多个元素;根据值来查找或者移除元素
Set包含字符串的无序收集器(unorderedcollection),并且被包含的每个字符串都是独一无二的、各不相同添加、获取、移除单个元素;检查一个元素是否存在于某个集合中;计算交集、并集、差集;从集合里卖弄随机获取元素
Hash包含键值对的无序散列表添加、获取、移除单个键值对;获取所有键值对
Zset字符串成员(member)与浮点数分值(score)之间的有序映射,元素的排列顺序由分值的大小决定添加、获取、删除单个元素;根据分值范围(range)或者成员来获取元素

 

RedisTemplate中定义了对5种数据结构操作

redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

StringRedisTemplate与RedisTemplate

  • 两者的关系是StringRedisTemplate继承RedisTemplate。
  • 两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。
  • SDR默认采用的序列化策略有两种,一种是String的序列化策略,一种是JDK的序列化策略。 StringRedisTemplate默认采用的是String的序列化策略,保存的key和value都是采用此策略序列化保存的。 RedisTemplate默认采用的是JDK的序列化策略,保存的key和value都是采用此策略序列化保存的。

 

 

 

SpringCloud集成Spring Data Redis 文章目录Spring Data Redis源码springcloud-parent2父Maven模块spring-redis子Maven模块结果分析 Spring Data Redis   如同使用SpringData进行关系型数据库访问一样,使用Spring Data Redis的第一步就是连接到Redis服务器。要想实现连接,就需要获取RedisConnection,而获取RedisConne... 阅读详情

相关推荐

深入学习 Redis - 基于 Spring Data Redis 操作 Redis

RedisTemplate 是把 Redis 的方法,分成了几个类别来进行组织,和原生的 Redis 命令有一定的差异~ 作者的初心是希望通过上述封装,让接口看起来更简单,但在我看来,并没有达成,反而因为与 Redis 原生命令差异,提高了使用者的学习成本.之前使用 Jedis 是通过 Jedis 对象里的各种方法来操作 redis 的,此处 Spring 则是通过 SpringRedisTemplate 来操作 redis.

CYK_byte的博客 2547

Spring Boot的Spring Data Redis和RedisTemplate(StringRedisTemplate)

Spring Boot提供了 spring-boot-starter-data-redis 使用Spring Data Redis对底层的 Lettuce 或者 Jedis 做了封装,默认使用 Lettuce 。 配置 打开 https://start.spring.io/ ,搜索 redis ,添加依赖 Spring Data Redis (Access+Driver) ,如下图所示: 创建项目 test0501_1 ,下载 test0501_1.zip 文件,解压生成项目,并打开。 打开 pom.xm

duke_ding2的博客 1764

VS2022 中 std::mutex 静态初始化陷阱:一次诡异崩溃的排查记录

VS2022中使用std::mutex时遇到的静态初始化陷阱问题。该问题源于VS2022 17.4版本为std::mutex添加constexpr支持后,全局静态初始化可能导致系统资源未就绪时锁失效或崩溃。文章分析了问题现象、影响范围,并提供了解决方案。最后给出了排查清单和核心建议

qq_34552942的博客 952

Redis的Java客户端——SpringDataRedis、RedisTemplate、StringRedisTemplate

!-- 引入Jackson依赖-->@Bean //RedisConnectionFactory不需要我们创建Spring会帮助我们创建// 1.创建RedisTemplate对象// 2.设置连接工厂// 3.创建JSON序列化工具// 4.设置Key的序列化// 5.设置Value的序列化 jsonRedisSerializer使我们第三步new出来的// 6.返回}}@Test。

weixin_51351637的博客 4114

表面声波滤波器——叉指换能器设计实战:从关键参数到结构选型

本文深入探讨了表面声波滤波器核心部件叉指换能器的实战设计流程。从目标驱动出发,详细解析了如何根据中心频率确定关键参数指宽,并权衡叉指对数对带宽和插入损耗的影响。文章进一步介绍了通过变迹加权优化频率响应,并对比了梯形结构与纵向耦合谐振滤波器等主流结构选型的适用场景与优缺点,为工程师提供从理论计算到仿真验证的完整设计指南。

weixin_29216353的博客 104

M6 Mac mini涨价2500值不值?深度拆解硬件成本与购买决策

统一内存架构将CPU、GPU和内存封装在一起,通过共享高带宽内存池提升数据交换效率,尤其适合本地AI推理和视频渲染等场景。在苹果生态中,起步内存和存储的配置直接决定设备生命周期,因为后期无法自行升级。M6 Mac mini将起步内存从16GB提升至24GB、存储从256GB提升至512GB,同时芯片制程和GPU核心数均有升级,持续负载性能保持率明显改善。对于开发者、内容创作者和本地大模型推理用户,这些变化能转化为实际效率收益;而轻度办公用户则可能面临性能冗余。理解硬件成本结构与自身工作流需求,才能判断这25

weixin_30846347的博客 266

SpringData-Redis配置及常用操作

其中 key 是 List 数据类型的 key,index 是指定位置的下标(0 表示头部,-1 表示尾部),value 是要插入的元素。需要注意的是,以上操作涉及到 List 的操作,因为 List 是有序的元素集合,因此对于元素的位置我们是可以进行控制和操作的。,其中 key 是 Sorted Set 数据类型的 key,value 是待添加的元素,score 是该元素的分数。,其中 key 是 List 数据类型的 key,index 是要获取的元素的下标,返回指定位置的元素。

勇敢牛牛,不怕困难! 3001

DCA1000EVM数据采集实战:从mmWave Studio配置到MATLAB后处理的全链路解析

本文详细解析了DCA1000EVM数据采集的全流程,从mmWave Studio配置到MATLAB后处理,涵盖数据存储结构解析、后处理引擎剖析及Python数据处理方案。通过实战案例,帮助开发者高效处理毫米波雷达原始数据,实现从数据到应用价值的转化,提升开发效率。

weixin_33743661的博客 708

Spring-data-redis

说明: 在 SpringBoot2.x 之后,原来使用的jedis 被替换为了 lettucejedis : 采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用 jedis pool 连接池lettuce : 采用netty,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了@Bean//1.创建自定义模板类//配置json类型的序列化工具//这样key会用字符串方式保存/*** 测试自定义。

m0_68041576的博客 1993

[Linux项目实践] LCD Panel的硬件分析及调试

LCD硬件分析 项目使用3.5” TFT-LCD并且支持触摸控制。LCD的硬件可从几个方面学习:1)查看LCD的硬件连线。2)查看数据手册了解寄存器的控制。3)查看LCD DATASHEET了解硬件操作 1)LCD硬件连线 在图中有33个引脚,22根数据引脚和9根控制引脚。 LCD的工作原理:像素点是从左至右,从上至下逐个显示,LCD控制寄存器会从从内存中的framebuffer通

Terry_Yuan的技术专栏 3024

西门子200SMART PID温控实战:从配置到避坑(附加热棒控制案例)

本文详细介绍了西门子200SMART PLC在PID温控系统中的实战应用,涵盖硬件配置、PID参数整定及工程避坑技巧。通过加热棒控制案例,重点解析了信号处理、固态继电器选型、断电保持和无扰切换等关键问题,为工业自动化领域的温度控制提供可靠解决方案。

weixin_28727975的博客 356

RedisTemplate操作Redis,这一篇文章就够了(一)

RedisTemplate操作Redis,这一篇文章就够了(一) StringRedisTemplate和RedisTemplate的区别(二) StringRedisTemplate的一个小案例(三)

lydms的博客 30万+

Android功耗系列专题理论之十三:MTK平台待机功耗问题分析方法

摘要:本文详细分析了MTK平台待机功耗问题的调试方法,重点介绍了SPM电源管理机制、26M时钟控制逻辑以及系统深睡眠状态的判断标准。文章提供了完整的Debug流程,包括日志抓取、唤醒源分析、SCP睡眠状态检查以及时钟/LDO状态排查等实用技巧,并给出硬件漏电点和软件配置异常的排查方案。针对不同模块(Modem/Conn/SSPM等)提供了具体的电源管理绕过命令,适用于功耗问题调试和低功耗模式验证场景。

559

Spring Redis Data,RedisTemplate原理

1.获取一个RedisTemplate对象 一般都是通过连接池连接Redis的,要在spring中使用Redis,首先,我们需要配置JedisPoolConfig对象,如下图: 在使用 Spring提供的 RedisTemplate之前需要配置 Spring所提供的连接工厂,在 Spring Data Redis 方案中它提供了 4 种工厂模型: JredisConnectionFactor...

striveb的博客 5237

手把手教你学simulink(11.6)--Simulink 航空航天场景:基于Simulink的飞机俯仰控制系统的数学模型

自动驾驶系统在航空航天领域具有重要应用,特别是在商业航空、军用航空和无人机等领域。PID控制器因其简单且有效的特性,被广泛应用于飞行控制。Simulink提供了一个强大的平台,用于建模、仿真和分析动态系统,非常适合设计和测试自动驾驶系统的控制器。通过本项目的实施,我们成功设计和仿真了一个用于控制飞机俯仰角的PID控制器。该项目展示了从系统建模、控制器设计、仿真验证到结果分析的完整流程,为PID控制器的设计提供了有价值的参考。希望这个实例能够为你的航空航天项目提供有用的指导。

MHD0815的博客 565

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

RedisTemplate 快速使用入门 与 操作 Redis 5 种数据类型、事务

目录 RedisTemplate 概述 与 redis 配置 RedisTemplate 使用演示 字符串(String) 列表(List) 哈希(Hash) 集合(Set) 有序集合(sorted set) RedisTemplate 概述 与 redis 配置 1、Redis 是一个缓存、消息代理和功能丰富的键值存储。Spring Boot 为 Lettuce 和 Jedis...

蚩尤后裔-汪茂雄 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【Spring学习】缓存Spring Data Redis:RedisTemplate、Repository、Cache注解

为了节省内存空间,我们并不会使用JSON序列化器来处理value,而是统一使用String序列化器,要求只能存储String类型的key哈value,当要存储Java对象时,手动完成对象的序列化和反序列化。但是json序列号可能导致一些其他的问题:JSON序列化器会将类的class类型写入到JSON结果中并存入Redis,会带来额外的内存开销。key和value的序列化方式默认就是String方式,省去了我们自定义RedisTemplate的过程。主要针对配置,能够根据方法的请求参数对其结果进行缓存。

午后阳光 2173

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Redis系列之Spring Data Redis

概述、自动配置、入门使用、RedisTemplate、方法分类、execute类、原生Redis指令、排序、事务、Redis Server、Operations有两类、CAS操作、发布订阅、Lua脚本、序列化、StringRedisSerializer、RedisSerializer、属性配置、RedisCallback、SessionCallback

lonelymanontheway的博客 2982

SpringBoot 整合 Redis:Spring Data Redis(RedisTemplate 的使用)

SpringData 是 Spring 对数据操作的整合模块,它包含对各种数据库的集成。其中 SpringData 对 Redis 的集成模块就叫做 SpringDataRedis。

JiaHao汤 1493

Spring Data Redis 详解

Redis 其实非常简单,但是使用了 Spring Data Redis,会发现更简单,其实相当于加了个中间层在里面,并不需要再去关注多种 Redis 的工具库了。

RedRay0的博客 1995

Spring Data Redis 如何将 RedisTemplate 注入为 ListOperations 类型

问题 在 Spring Data Redis 官方文档中,可以看到这样一个常规用法: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...

叉叉哥的BLOG 1889

SpringData-Redis缓存之RedisTemplate

SpringData-Redis缓存之RedisTemplate

深圳市多克创新科技有限公司 1517

94、Spring Data Redis 提供的 RedisTemplate 的功能和用法讲解 及 使用 Spring Data Redis 操作redis数据库 及存储机制讲解

Spring Data Redis 提供的 RedisTemplate 的功能和用法讲解 及 使用 Spring Data Redis 操作redis数据库

Java 领域技术分享 2798

Spring Data Redis

/ --- 关键配置 --- StringRedisSerializer stringSerializer = new StringRedisSerializer();// 通常,Key 使用 String 序列化器,因为 Key 通常是字符串 template . setKeySerializer(stringSerializer);

2401_83724374的博客 916

Spring Boot 集成Spring Data Redis

Spring Data Redis 是 Spring 的一部分,提供了在 Spring 应用中通过简单的配置就可以访问 Redis 服务,对 Redis 底层开发包进行了高度封装。在 Spring 项目中,可以使用Spring Data Redis来简化 Redis 操作。Spring Boot提供了对应的Starter,maven坐标:,对相关api进行了归类封装,将同一类型操作封装为operation接口,具体分类如下:ValueOperations:string数据操作。

weixin_51517000的博客 1433

Java 是如何操作Redis的?从 Spring Data Redis中RedisTemplate 源码分析 ZSet 调用链

本文分析了Java通过Spring Data Redis操作ZSet的原理,深入源码进行分析。以RedisTemplate的opsForZSet()和range()方法为例,揭示了完整的调用链:从DefaultZSetOperations序列化参数,到RedisTemplate执行命令,最后通过RedisConnection发送给服务器并反序列化结果。文章详细解析了ZADD和ZRANGE命令的执行过程,包括序列化处理、连接获取和结果转换等关键环节,帮助理解Java与Redis的底层交互机制。

2403_87560480的博客 1022
上一篇: No converter found for return value of type: class java.util.ArrayList 之异常
下一篇: spring-data-redis之RedisTemplate之Demo架构搭建
wangxuejava
博客等级 码龄7年 6粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值