使用Redis的Hash存储Java对象

Hash的特点

1.将具有同一类规则的数据放到redis中的一个数据容器里,便于查找数据。
2.使用hash 省内存。在hash类型中,一个key可以对应多个field,一个field对应一个value。将一个对象存储为hash类型的好处之一:较于每个字段都单独存储成string类型来说,更能节约内存。
在这里插入图片描述

代码实现

package com.redisdemo;

import redis.clients.jedis.Jedis;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class RedisHashDemo {
    
    
    public static void main(String[] args) {
    
    
        Jedis jedis = new Jedis("127.0.0.1",6379);
        List<User> userList = getUserList();
        for (User user : userList){
    
    
            Map<String,String> map = new HashMap<>();
            map.put("id",user.getId());
            map.put("name",user.getName());
            jedis.hmset(user.getId(),map);
            Map userObj =jedis.hgetAll(user.getId());
            System.out.println(userObj);
            String name =jedis.hget(user.getId(),"name");
            System.out.println("按id和name取值:"+name);
        }
        // 4.释放资源
        jedis.close();

    }

    private static List<User> getUserList(){
    
    
        List<User> userList = new ArrayList<>();
        User user1 = new User();
        user1.setId("1");
        user1.setName("王八1");

        User user2 = new User();
        user2.setId("2");
        user2.setName("王八2");
        userList.add(user1);
        userList.add(user2);
        return userList;
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaowanzi_zj/article/details/121111902