zoukankan      html  css  js  c++  java
  • springboot整合redis

    springboot整合redis

    1. 依赖

    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-redis</artifactId>
    </dependency>
    

    2. 配置文件

    创建一个redis.properties

    # 配置单台redis
    redis.host=192.168.126.129
    redis.port=6379
    

    3. 编辑配置类

    @Configuration  //标识我是配置类
    @PropertySource("classpath:/properties/redis.properties") // 读取配置文件
    public class RedisConfig {
    
        @Value("${redis.host}")
        private String  host;
        @Value("${redis.port}")
        private Integer port;
    
        @Bean
        public Jedis jedis(){
            //数据写死?????????
            return new Jedis(host,port);
        }
    }
    

    4. 测试

    @SpringBootTest //需要依赖spring容器,从容器中动态的获取对象
    public class TestRedis {
    
        @Autowired
        private Jedis jedis;
    
        @Test
        public void test01(){
            //1.向redis中保存数据
            jedis.set("2004", "哈哈哈 今天下雨了 不负众望");
            //2.从redis中获取数据
            String value = jedis.get("2004");
            System.out.println(value);
        }
    }
    

    关于保存数据

    redis我们通常用它来保存我们的java数据, 例如, 对象, 集合等信息

    通常我们会使用字符串的方式进行保存, 即把java对象转换为JSON格式的字符串进行保存

    取出的时候解析JSON字符串, 重新生成对象

    JSON工具类

    用于对象和json之间的项目转换更为方便

    public class ObjectMapperUtil {
    
        private static final ObjectMapper MAPPER = new ObjectMapper();
    
        /**
         * 封装API 将对象转化为JSON
         */
        public static String toJSON(Object object) {
            if (object == null) {
                throw new RuntimeException("传入的对象不能为null");
            }
            try {
                return MAPPER.writeValueAsString(object);
            } catch (JsonProcessingException e) {
                e.printStackTrace();
                throw new RuntimeException(e.getMessage());
            }
        }
    
        /**
         * 将JSON串转为对象, 用户传递什么类型, 则返回什么对象
         */
        public static <T> T toObject(String json, Class<T> target) {
            // 1. 校验参数是否有效
            if (json == null || "".equals(json) || target == null) {
                throw new RuntimeException("参数不能为null");
            }
    
            // 2. 执行业务处理
            try {
                T t = MAPPER.readValue(json, target);
                return t;
            } catch (JsonProcessingException e) {
                e.printStackTrace();
                throw new RuntimeException(e.getMessage());
            }
        }
    }
    
  • 相关阅读:
    Web开发常用知识点
    我的PHP之旅:开篇,走入开源的世界
    WPF Knowledge Points ContentControl和ContentPresenter的区别
    WPF Knowledge Points 控件状态利器:VisualStateManager详解
    WPF Control Hints ComboBox : 如何去掉ComboBox的DropDownButton
    WPF Control Hints ContextMenu : 怎么通过MenuItem的Click事件取得ContextMenuItem绑定的类实例?
    WPF Knowledge Points Binding.StringFormat不起作用的原理和解决
    AJAX请求 $.ajaxSetup方法的使用
    Html标签输出到前台并导出到Excel
    XML序列化和反序列化
  • 原文地址:https://www.cnblogs.com/zpKang/p/13497501.html
Copyright © 2011-2022 走看看