首页 > 数据库 >SpringBoot 使用RedisTemplate

SpringBoot 使用RedisTemplate

时间:2023-03-31 17:26:07浏览次数:51  
标签:SpringBoot stringRedisSerializer RedisTemplate template 使用 序列化 redisTemplate Str

1.导入Maven依赖

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

2.配置连接信息

spring:
  redis:
    host: 127.0.0.1
    port: 6379
    password:

3.新增配置类,修改序列化方式

RedisSerializer接口实现类有四种:

  • JDK 序列化方式 (默认)
  • String 序列化方式
  • JSON 序列化方式
  • XML 序列化方式

为什么要修改序列化方式

redisTemplate 默认的序列化方式为 jdkSerializeable;StringRedisTemplate的默认序列化方式为StringRedisSerializer。

其中jdkSerializeable存储的是二进制字节码绝大多数情况下,不推荐使用 JdkSerializationRedisSerializer 进行序列化。主要是不方便人工排查数据。

@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<String, Object> template = new RedisTemplate<>();

        template.setConnectionFactory(redisConnectionFactory);


        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        //key 采用String的序列化方式
        template.setKeySerializer(stringRedisSerializer);
        //hash
        template.setHashKeySerializer(stringRedisSerializer);
        //value
        template.setValueSerializer(stringRedisSerializer);
        template.afterPropertiesSet();
        return template;
    }

}

4。注入RedisTemplate进行使用

@Autowired
private RedisTemplate redisTemplate;

public String testRedis() {
	String cacheData = (String)redisTemplate.opsForValue().get("cacheData");
	return cacheData;
}

redisTemplate常见操作:

redisTemplate.opsForValue() 操作String

redisTemplate.opsForList() 操作LIST
redisTemplate.opsForSet() 操作SET
redisTemplate.opsForHash() 操作HASH
redisTemplate.opsForZSet() 操作ZSET

参考资料

标签:SpringBoot,stringRedisSerializer,RedisTemplate,template,使用,序列化,redisTemplate,Str
From: https://www.cnblogs.com/1963942081zzx/p/17276896.html

相关文章

  • 使用SqlBulkCopy sqlserver 批量插入数据(C#)
    先说实现原理:将需要插入数据库的集合里面的数据存在datatable里面,列名需相同,然后调用SqlBulkCopy方法。1.新建datatable,并赋值DataTabledataTable=newDataTable();dataTable.Columns.Add("NAME1");dataTable.Columns.Add("NAME2");dataTable.Columns.Add("NAME3");data......
  • kubernetes Secret使用
    节选rabbitmq的k8s部署部分secret用来配置环境变量1.Secret.yaml:1.1.配置文件secret.yaml apiVersion:v1kind:Secretmetadata:name:rabbitmq-secretnamespace:rabbitmqtype:Opaquedata:RABBITMQ_ERLANG_COOKIE:MTIzajE5dWVkYXM3ZGFkODEwMjNqMTM5ZGph......
  • cursor的安装与使用
    1.cursor介绍cursor是一个集成GPT-4的IDE开发工具(有的说是chat-gpt3)。可以根据自己的要求搜索功能,其会自动生成自己想要的代码。很是强大与方便。2.下载windows版本的cursor这里直接提供我百度网盘的下载地址。链接:https://pan.baidu.com/s/1Zsmu5dCbP-APwtmi......
  • (转) beego中URL反转使用
    原文:https://www.cnblogs.com/hei-ma/articles/13626245.html什么是URL反转:根据“URL路径对应的处理函数“来获取到对应”URL方法“就是URL反转。 URL反转的好处:url改变不需要跟着改代码。 URL反转使用示例1、本示例的路由规则如下beego.Router("/login",......
  • 使用Apipost自动化测试工具来优化测试流程
    随着项目研发进程的不断推进,软件功能不断增多,对于软件测试的要求也越来越高。为了提高测试效率和减少测试成本,许多软件测试团队借助于自动化测试工具来优化测试流程。Apipost也提供了自动化测试工具,在本文中,我们将探讨如何借助Apipost自动化测试工具来优化测试流程。Apipost......
  • encodeURI()、encodeURIComponent()区别及使用场景
    一、URLURL是使用ASCII进行编码的,所以有些内容是不支持的,例如中文,URL会使用编码的手段将其转义为可解释内容。在URL中,合法字符分成两类。URL元字符:分号(;),逗号(,),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#) 语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪......
  • 非Spring项目下使用H2数据库做UnitTest
    1.Maven引入包<dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</version></dependency><dependency><groupId>com.h2database</groupId><a......
  • nacos配置使用
    一、什么是nacos?Nacos是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。二、Nacos可以做什么?1、动态配置服务:支持以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管......
  • SpringBoot 集成支付宝的各种应用场景
    SpringBoot是一个非常流行的Java框架,它提供了一种快速、简便的方式来开发基于Java的Web应用程序。支付宝是中国最大的第三方支付平台,它提供了丰富的API,支持多种支付方式。在本篇博客中,我将介绍如何使用SpringBoot集成支付宝支付,包括以下几个场景:手机网站支付电脑网站支付移动支付......
  • SpringBoot 集成微信支付的各种支付产品
    SpringBoot是一款非常流行的Java开发框架,而微信支付则是众多移动支付产品中的佼佼者,整合两者可以让我们更方便地开发各种支付产品。在本篇博客中,我将介绍如何在SpringBoot中整合微信支付的各种支付产品。准备工作微信支付官网注册一个微信支付商户账号创建一个微信支付应用......