复述,除了做缓存还能够用来干什么

介绍

这篇文章给大家分享的是有关复述,除了做缓存还能够用来干什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

复述,应该说是目前最受欢迎的NoSQL数据库之一了.Redis通常被作为缓存组件,用作缓存数据。不过,除了可以缓存数据,其实复述,可以做的事还有很多。下面列举几例,供大家参考。

<强> 1,最新列表

例如新闻列表页面最新的新闻列表,如果总数量很大的情况下,尽量不要使用选择从一个限制10,尝试复述的LPUSH命令构建表,一个个顺序都塞进去就可以啦。不过万一内存清掉了咋办?也简单,查询不到存储关键的话,用mysql查询并且初始化一个列表到复述中就好了。

<强> 2排行榜应用

实现这个功能主要用到的复述,数据类型是复述的有序集合zset.zset是集类型的一个扩展,比原有的类型多了一个顺序属性,此属性在每次插入数据时会自动调整顺序值,保证值值按照一定顺序连续排列。

我们假设是一个游戏经验值排行榜,那主要的实现思路是:

在一个新的玩家参与到游戏中时,在复述中的zset中新增一条记录(记录内容看具体的需求)评分为0

当玩家的经验值发生变化时,修改该玩家的得分值

使用复述的ZREVRANGE方法获取排行榜

<强> 3,计数器应用

复述的命令都是原子性的,你可以轻松地利用增加,12月命令进行原子性操作,来构建计数系统。由于单线程,可以避免并发问题,保证不会出的错,而且毫100%秒级性能。

比如在一个web应用程序中,如果想知道用户在一年中每天的点击量,那么只要将用户ID以及相关的日期信息作为键,并在每次用户点击页面时,执行一次自增操作即可。

<强> 4,数据排重

复述,集是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,设置是一个很好的选择,并且设置提供了判断某个成员是否在一个设置集合内的重要接口。

实现方案:

设置的内部实现是一个价值永远为零的HashMap,实际就是通过计算哈希的方式来快速排重的,这也能是集提供判断一个成员是否在集合内的原因。

<强> 5,实时的反垃圾系统

反垃圾系统通常都是基于关键词的,使用复述,储存关系词,能够利用复述的高性能,为监控系统提供稳定及精确的实时监控功能,典型的案例如,邮件系统,评论系统等。

<强> 6,可以发布,订阅的实时消息系统

复述中Pub/Sub系统可以构建实时的消息系统,比如,很多使用Pub/Sub构建的实时聊天应用。

设计思路:

服务端发送消息(含标题,内容),标题按照一定规则存入复述,同时标题(以最少的信息量)推送到客户端,客户点击标题时,获取相应的内容阅读。

如果未读取,可以提示多少条未读,复述,能够很快记数

根据一定时间清理缓存

技术实现:

需要复述,数据库,客户端websocket,服务器端websocket

感谢各位的阅读!关于复述,除了做缓存还能够用来干什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

复述,除了做缓存还能够用来干什么