首页 > 数据库 >java——spring boot集成redis——SpringDataRedis入门示例——redisTemplate代码验证示例

java——spring boot集成redis——SpringDataRedis入门示例——redisTemplate代码验证示例

时间:2023-02-11 15:23:26浏览次数:72  
标签:java 示例 spring redis u8FDE org u63A5 public

pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>springredis</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/>
    </parent>


    <dependencies>
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
       </dependency>
        <!-- 依赖Spring Boot Data Redis -->
        <!-- 依赖Spring Boot Data Redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>io.lettuce</groupId>
                    <artifactId>lettuce-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--对象池化组件,配合Java客户端JedisPool使用-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

        <!--jedis的jar包-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.3.0</version>
        </dependency>


        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>



    </dependencies>


</project>

 

 

 

 

 

 

 

 

 

 

 

 

配置文件:

#Redis\u6570\u636E\u5E93\u7D22\u5F15\uFF08\u9ED8\u8BA4\u4E3A0\uFF09
spring.redis.database=0
#Redis\u670D\u52A1\u5668\u5730\u5740\uFF08\u9ED8\u8BA4\u4E3Alocalhost\uFF09
spring.redis.host=127.0.0.1
#Redis\u670D\u52A1\u5668\u8FDE\u63A5\u7AEF\u53E3\uFF08\u9ED8\u8BA4\u4E3A6379\uFF09
spring.redis.port=6379
#Redis\u670D\u52A1\u5668\u8FDE\u63A5\u5BC6\u7801\uFF08\u9ED8\u8BA4\u4E3A\u7A7A\uFF09
spring.redis.password=
#\u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09
spring.redis.timeout=3600
#\u662F\u5426\u4F7F\u7528ssl\uFF0C\u9ED8\u8BA4\u4E3Afalse
spring.redis.ssl=false


#\u914D\u7F6E\u8FDE\u63A5\u6C60
#\u5982\u679C\u4F7F\u7528lettuce \u5219\u5C06jedis\u6539\u6210lettuce\u5373\u53EF

#\u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09 \u9ED8\u8BA4\u503C\u4E3A-1
spring.redis.lettuce.pool.max-wait=-1
#\u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09 \u9ED8\u8BA4\u503C\u4E3A8
spring.redis.lettuce.pool.max-active=8
#\u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5 \u9ED8\u8BA4\u503C\u4E3A8
spring.redis.lettuce.pool.max-idle=8
#\u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5 \u9ED8\u8BA4\u503C\u4E3A0
spring.redis.lettuce.pool.min-idle=0


#\u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF0C\u5355\u4F4D\u6BEB\u79D2\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
spring.redis.jedis.pool.max-wait=3600
#\u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09 \u9ED8\u8BA4\u503C\u4E3A8
spring.redis.jedis.pool.max-active=8
#\u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5 \u9ED8\u8BA4\u503C\u4E3A8
spring.redis.jedis.pool.max-idle=8
#\u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5 \u9ED8\u8BA4\u503C\u4E3A0
spring.redis.jedis.pool.min-idle=0

 

 

 

 

 

 

 

 

 

 

 

redis配置文件:

 

key序列化为String;

 

value序列化为json对象;

 

 

package org.example.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.*;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;

@Configuration
public class RedisConfig
{
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)
    {
        // 创建一个RedisTemplate对象
        RedisTemplate<String, Object> template = new RedisTemplate<>();

        // 设置连接工厂
        template.setConnectionFactory(redisConnectionFactory);

        // 创建json序列化工具

        GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer();

        //配置key序列化
        template.setKeySerializer(RedisSerializer.string());
        template.setHashKeySerializer(RedisSerializer.string());

        //配置value序列化
        template.setValueSerializer(jsonRedisSerializer);
        template.setHashValueSerializer(jsonRedisSerializer);

        return template;
    }
}

 

 

 

 

 

 

 

POJO类:

package org.example.Entity;

public class MyUser
{

    private int id;

    private String name;

    public MyUser() {
    }

    public MyUser(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    private int age;

    public int getId()
    {

        return id;
    }

    public void setId(int id)
    {

        this.id = id;
    }

    public String getName()
    {

        return name;
    }

    public void setName(String name)
    {

        this.name = name;
    }

    public int getAge()
    {

        return age;
    }

    public void setAge(int age)
    {

        this.age = age;
    }

    @Override
    public String toString()
    {

        return "MyUser{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

controller:

package org.example.controller;

import org.example.Entity.MyUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;

@RestController
public class MyUserController
{
    @Autowired
    private RedisTemplate<String,Object> redisTemplate;


    /**
     * 查询所有用户信息
     * @return
     */
    @GetMapping(value = "/get")
    public MyUser get()
    {
        redisTemplate.opsForValue().set("abc",new MyUser(10,"a",11));

        MyUser  s = (MyUser) redisTemplate.opsForValue().get("abc");

        System.out.println(s);

        return s;

    }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:java,示例,spring,redis,u8FDE,org,u63A5,public
From: https://www.cnblogs.com/xiaobaibailongma/p/17111748.html

相关文章

  • 前端知识案例8-javascript基础语法-基本数据类型
    ......
  • [Java] 多线程系列之Fork/Join框架[转载]
    1工作原理1.1核心思想Fork/Join框架是Java7提供的一个用于并行执行任务的框架,核心思想就是把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果,其实......
  • 算术运算符 java 230211
    全部符号加法减法乘法除法除法取余(模)一般用于判断奇数与偶数......
  • 关于:java中poi导出对象到excel中,日期格式属性,后面几行变成数字
    导出对象数据到excel中,发现从45行开始,日期数据变成了天数,代码: publicstaticvoidwriteExcel(Listlist,Filefile)throwsException{  //反射获取list中对象类型 ......
  • ssm+redis
    SpringIoC承担了一个资源管理、整合、即插即拔的功能。SpringAOP可以提供切面管理,特别是数据库事务管理的功能。SpringMVC用于把模型、视图和控制器分层,组合成一......
  • Java堆外缓存(一个很有意思的应用)
    我们在开发过程中会遇到这样的场景:就是一个服务的各项JVM的配置都比较合理的情况下,它的GC情况还是不容乐观。分析之后发现有2个对象特别巨大,占了总存活堆内存的90%......
  • Java数组
    数组长度是确定的。数组一旦被创建,他的大小就是不可以改变的。数组里的元素必须是相同类型,不允许出现混合类型。数组中的元素可以是任何类型,包括基本类型和引用类型。......
  • java面试题(一)
    1、面向对象的特征有哪些方面?1.抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的......
  • java面试题(二)
    1、用最有效率的方法计算2乘以8?答:2<<3(左移3位相当于乘以2的3次方,右移3位相当于除以2的3次方)。补充:我们为编写的类重写hashCode方法时,可能会看到如下所......
  • java——spring boot集成redis——SpringDataRedis入门示例——redisTemplate使用注意
    写入“虎哥”后,获取如下:       存进去的key和value。都默认为java对象了。redisTemplate底层默认使用jdk序列化工具进行序列化。       ......