从前面的操作可以看出,String和Hash的操作非常类似,那为什么要弄一个hash出来存储。
哈希类型比较适宜存放对象类型的数据,我们可以比较下,如果数据库中表记载user为:
idnameage1lijin182msb20 1、利用String类型
必要一条条去插入获取。
set user:1:name lijin;
set user:1:age 18;
set user:2:name msb;
set user:2:age 20; 优点:简单直观,每个键对应一个值 缺点:键数过多,占用内存多,用户信息过于分散,不用于生产环境 2、将对象序列化存入redis
set user:1 serialize(userInfo); 优点:编程简单,若利用序列化合理内存利用率高 缺点:序列化与反序列化有一定开销,更新属性时必要把userInfo全取出来举行反序列化,更新后再序列化到redis 3、利用hash类型
hmset user:1 name lijin age 18
hmset user:2 name msb age 20 优点:简单直观,利用合理可减少内存空间消耗 缺点:要控制内部编码格式,不恰当的格式会消耗更多内存
列表(list)