zoukankan      html  css  js  c++  java
  • 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();
        }
    }

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

  • 相关阅读:
    图标工具箱
    第40课 程序的内存布局
    第39课 程序中的三国天下
    第38课 动态内存分配
    第37课 指针阅读技巧分析
    第36课 函数与指针分析
    第35课 数组参数和指针参数分析
    第34课 多维数组和多维指针
    第33课 main函数与命令行参数
    第32课 数组指针和指针数组分析
  • 原文地址:https://www.cnblogs.com/nongzihong/p/10176079.html
Copyright © 2011-2022 走看看