网站服务器做缓存,个人主页展示店铺,常州高端网站制作公司排名,旅游网站建站目的Redis是采用字典结构以key-value的形式存储数据的#xff0c;在散列类型#xff08;所谓的hash#xff09;中的value也是一种字典结构。如果用关系表结构去理解#xff0c;就是key为对象#xff0c;value是属性和属性值。如下图#xff1a; 所以使用散列#xff08;hash… Redis是采用字典结构以key-value的形式存储数据的在散列类型所谓的hash中的value也是一种字典结构。如果用关系表结构去理解就是key为对象value是属性和属性值。如下图 所以使用散列hash类型可以很方便的存储对象值得注意的是字段属性的值只能是字符串类型。 对于一个传统的关系数据表如下图 IDcolornamepricemodel1白色 梅赛德斯98万S级2黑色奥迪90万 3红色凯迪拉克80万 如果想在关系数据表为某一条记录单独添加属性这是做不到的只能够同时给其他记录也添加属性如给ID为1的记录添加model属性其他记录也具有了model属性只是没有值这里会出现问题当记录数据非常多的时候其他不需要model属性的记录就会出现属性冗余。同时为一条记录去修改表的结构也是一件非常不友好的行为。那么使用redis的散列hash类型就可以完美解决这个问题它可以自由地为任何键增减字段而不影响其他键。 命令赋值与取值 HSET key field value redis HSET car:1 price 98000
(integer) 1
redis HSET car:1 name BMW
(integer) 1 HGET key field redis HGET car:1 name
BMW HMSET key field1 value1 [field2 value2 ...] redis HMSET car:2 price 90000 name Audi HMGET key field1 [field2 ...] redis HMGET car:2 price name
1) 90000
2) Audi HGETALL key redis HGETALL car:2
1) price
2) 90000
3) name
4) Audi HSET的命令对于同一键名不区分插入和更新操作这意味着修改数据的时候不需要事先判断字段是否已经存在来决定是执行插入数据还是更新数据。当执行插入操作返回1当执行更新操作返回0。当键不存在时HSET会自动创建这个跟SET命令一样。转载于:https://www.cnblogs.com/SysoCjs/p/9999647.html