爱收集资源网

Redis常用命令集:二、Redis数据结构选择分析和实现

网络整理 2024-02-08 19:09

Redis常用命令集:

二、业务剖析

在这三个数据中点赞评论网站,阅读量和用户没有关系不用储存用户和文章的关系,并且收藏和点赞和用户就是有关的,每位用户对同一篇文章只能收藏一次和点赞一次,而且可以取消,是有状态的数据,针对这两种不同类型的业务选择的数据结构也不同,实现方式也有好多种这儿剖析其中几个。

三、Redis数据结构选择剖析和实现

这儿不会过多剖析数据库相关方面设计,重点剖析Redis中应当怎样储存那些数据可以高效使用,阅读量是一个持续自增的值和其它业务无关,在数据表中用一个数组记录即可,并且收藏和点赞须要一个对应业务和用户的关联表来记录关系,每次查询时都要查询关联表统计出文章被多少用户收藏和点赞,还要判定当前查看文章的用户是否有收藏和点赞,其实数目信息我们也可以储存某个记录表中,而且每次查询都打到数据库压力还是挺大的,数据库资源很宝贵点赞评论网站,这种信息统计好后储存在缓存中会是一个不错的选择。

3.1、三个数据缓存都分别使用字符串结构计数器储存对应数目值

鉴于前面所说,这儿我们将阅读量、收藏、点赞数目使用三个字符串结构储存,不同业务操作对应key即可,还要注意那些数据入数据库操作。

2、代码实现

这儿直接使用计数器操作即可,每次有对应操作只要对具体key做自增或则自减即可,假定文章id=1

## 文章每次被阅读,文章阅读量自增1
127.0.0.1:6379> incr article:readcount:1
## 文章每次被收藏,文章收藏数量自增1
127.0.0.1:6379> incr article:collectcount:1
## 文章每次被点赞,文章点赞数量自增1
127.0.0.1:6379> incr article:likecount:1
## 文章每次被取消收藏,文章收藏数量自减1
127.0.0.1:6379> decr article:collectcount:1
## 文章每次被取消点赞,文章点赞数量自减1
127.0.0.1:6379> decr article:likecount:1
## 获取文章阅读量、收藏、点赞数量
127.0.0.1:6379> get article:readcount:1
127.0.0.1:6379> get article:collectcount:1
127.0.0.1:6379> get article:likecount:1

3、优点

4、不足点

点赞评论网站_获赞高的评论_赞的评论怎么写

3.2、三个数据缓存使用一个Hash结构储存

针对3.1中由于须要使用特别多的key,一篇文章就要使用三个key,但是每次查看文章都须要恳求Redis三次就能获取到这三个数目值,对Redis资源开支比较大,这儿可以使用Hash结构优化。

2、代码实现

这儿直接Hash结构操作即可,每次有对应操作只要对具体Hash结构中的key做自增或则自减即可,假定文章id=1

## 文章每次被阅读,文章阅读量自增1
127.0.0.1:6379> hincrby article:count:1 readcount 1
## 文章每次被收藏,文章收藏数量自增1
127.0.0.1:6379> hincrby article:count:1 collectcount 1
## 文章每次被点赞,文章点赞数量自增1
127.0.0.1:6379> hincrby article:count:1 likecount 1
## 文章每次被取消收藏,文章收藏数量自减1
127.0.0.1:6379> hincrby article:count:1 collectcount -1
## 文章每次被取消点赞,文章点赞数量自减1
127.0.0.1:6379> hincrby article:count:1 likecount -1
## 获取文章阅读量、收藏、点赞数量
127.0.0.1:6379> hgetall article:count:1

3、优点

4、不足点

点赞评论网站
上一篇:快手发布视频方法,让你的视频更有趣! 下一篇:没有了