五、Redis哈希(Hash)类型设计文章实战练习

作者: 温新

分类: 【Redis】

阅读: 1917

时间: 2020-08-31 13:43:42

以存储一篇文章为例。

第一种方法,将文章对象序列化后使用一个字符串类型存储。这种方法缺点很多,不利于对文章的操作。如想要修改文章的关键词,就必须先取出所有数据然后进行反序列化,然后再修改。如果有多个人修改同一篇文章,最后只有一个会被修改,后修改覆盖前修改。

第二种方法,组合使用多个字符串类型键来存储一篇文章,这样就可以对某一个属性单独进行操作,非常方便,而哈希更为适合。

使用字符串存储文章

jianzhi.pngimage-20200831213201031

(图)使用多个字符串类型键存储一个对象

使用哈希存储文章

哈希键值对.pngimage-20200831213548045

(图)使用一个哈希类型存储一个对象

由2图可见,使用哈希来存储文章更加直观更加方便。

实现

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">127</span>.0.0.1:6379> hmset article:20 title <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'php is very good'</span> time <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'2020'</span> content <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">'php is very good'</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">OK</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">127</span>.0.0.1:6379> hgetall article:20</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1</span>) <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"title"</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">2</span>) <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"php is very good"</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">3</span>) <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"time"</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">4</span>) <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"2020"</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">5</span>) <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"content"</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">6</span>) <span style="box-sizing: border-box;color: rgb(152, 195, 121) !important">"php is very good"</span></span>

我是夕阳何处寻,期待和优秀的你一起同行!

小白

2020年08月31日

请登录后再评论