SpringBoot操作redis Hash数据(StringRedisTemplate)

时间:2024-03-25 21:40:58

SpringBoot操作Redis只需要注解@Autowired即可

使用StringRedisTemplate存Hash值到Redis数据库中

注解StringRedisTemplate

@Autowired
    StringRedisTemplate stringRedisTemplate;

把hash值存进redis

 @Test
    public void setRedisMap() {
        {
            try {
                //创建一个pojo对象
                User u = new User();
                u.setName("张三");
                u.setId("1");
                u.setPassword("123");
                Map<String, Object> map = new HashMap<String, Object>();
                //将pojo对象存入map中,这里需要将pojo对象序列化一下
                map.put("key1", JSON.toJSONString(u));
                //这里将Map写入redis数据库
                stringRedisTemplate.opsForHash().putAll("map1", map);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

alibaba.fastjson pom.xml依赖

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.7</version>
 </dependency>

执行结果

SpringBoot操作redis Hash数据(StringRedisTemplate)

也可以在map中写入集合存入到redis数据库中

@Test
    public void mapRedis() {
        //创建两个pojo对象
        User u = new User();
        u.setName("张三");
        u.setId("1");
        u.setPassword("123");
        User u2 = new User();
        u2.setName("李四");
        u2.setId("2");
        u2.setPassword("123");

        //把两个对象保存到集合中
        List<User> ulist = new ArrayList<>();
        ulist.add(u);
        ulist.add(u2);
        Map<String, Object> map = new HashMap<String, Object>();

        //把list集合存进map中
        map.put("key1", JSON.toJSONString(ulist));

        //将数据写入redis
        stringRedisTemplate.opsForHash().putAll("map1", map);
    }

执行结果

SpringBoot操作redis Hash数据(StringRedisTemplate)