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;
}
}