• Spring 使用RedisTemplate操作Redis


    首先添加依赖:

    <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>2.9.0</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-redis -->
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-redis</artifactId>
                <version>2.1.3.RELEASE</version>
            </dependency>

    创建:SpringConfig 

    package the_mass.redis;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.data.redis.connection.RedisConnectionFactory;
    import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.data.redis.core.StringRedisTemplate;
    
    @Configuration  //配置
    @ComponentScan("the_mass.redis")  //扫描那个包
    public class SpringConfig {
    
        @Bean
        RedisConnectionFactory redisConnectionFactory(){ //获取连接工厂
            return new JedisConnectionFactory();          //返回
    }
    
        @Bean
        RedisTemplate redisTemplate(){      //模板
            return new StringRedisTemplate(redisConnectionFactory());  //使用连接工厂返回
        }
    
    }


    创建:RedisService
    package the_mass.redis;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.redis.connection.RedisConnection;
    import org.springframework.data.redis.connection.RedisConnectionFactory;
    import org.springframework.data.redis.core.RedisOperations;
    import org.springframework.stereotype.Service;
    
    import java.nio.charset.StandardCharsets;
    
    @Service
    public class RedisService {
    
        @Autowired
        RedisConnectionFactory factory; //通过Redis连接的线程安全工厂
    
        @Autowired
        RedisOperations redisOperations; //通过公共接口RedisOperations
    
    
        public void testRedis() {
            RedisConnection connection = factory.getConnection();
            byte[] bytes = connection.get("hello".getBytes());
            System.out.println(new String(bytes, StandardCharsets.UTF_8));
        }
    
        public void testRedisTemplate() {
            Object hello = redisOperations.opsForValue().get("hello");
            System.out.println(hello);
        }
    
    }

    创建:JedisDemo

    package the_mass.redis;
    
    import redis.clients.jedis.Jedis;
    
    public class JedisDemo {
        public void execute() {
    
            Jedis jedis = new Jedis(); //创建客户端
    
            Boolean hello = jedis.exists("hello");
            System.out.println(hello);
    
    
            String s = jedis.get("hello");
            System.out.println(s);
    
            jedis.set("hello", "wrold:23");
    
            Long hello1 = jedis.exists("hello", "hello:123");
            System.out.println(hello1);
    
    
        }
    }

    测试:

    package the_mass.redis;
    
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    
    public class Main {
        public static void main(String[] args) {
            AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
    
            RedisService redisService = context.getBean(RedisService.class);
            redisService.testRedis();
            redisService.testRedisTemplate();
        }
    }

    注意:首先记得 设置值,不然会报空指针异常

  • 相关阅读:
    Base64简介
    grafana+graphit安装笔记
    朋友圈里的格局
    设计模式值六大原则——接口隔离原则 (ISP)
    设计模式值六大原则——迪米特法则(LoD)也称为最少知识原则(LKP)。
    设计模式值六大原则——开闭原则(OCP)
    设计模式值六大原则——里氏替换原则(LSP)
    工厂模式
    JSON简介以及用法代码汇总
    sql where 1=1和 0=1 的作用
  • 原文地址:https://www.cnblogs.com/nongzihong/p/10176079.html
Copyright © 2020-2023  润新知