最近去面试,碰到面试官提问,如果要把一个自定义的java对象存储到redis中,除了一般使用json和序列化之外,还有一种,可以配置redis的配置文件,操作hash类型,直接使用HGETALL (或者其他操作hash的命令),取出来就会是一个java对象??
可以,其实对象无非就是一堆的键值对嘛,可以直接用redis里面的map结构来存储,每个属性都是一个key.
代码就类似下面这样.
Map<String, String> data = new HashMap<String , String();
jedis.hmset("product:1", data);
取出来的话就这样:
Map<String, String> data = jedis.hgetAll(key);
再把这个map转换成对象.
他说取出来直接就是java对象那是扯犊子