redis 基本记录

2020-10-31  本文已影响0人  拉面的无聊时光

基本认识

image.png

数据类型

应用场景

  1. 计数

  2. 缓存

  3. 队列 List+Pop

4.发布订阅:Pub/Sub

  1. 显示最新的项目列表: List

  2. 排行榜相关: SortSet

  3. 按照用户投票和时间排序: List + SortSet 配合使用
    例如首页上的1000条新闻都是候选者,因此我们先忽视掉其他的,这实现起来很简单。每次新的新闻贴上来后,我们将ID添加到列表中,使用LPUSH + LTRIM,确保只取出最新的1000条项目。有一项后台任务获取这个列表,并且持续的计算这1000条新闻中每条新闻的最终得分。计算结果由ZADD命令按照新的顺序填充生成列表,老新闻则被清除。

  4. 处理过期项目
    每次有新项目添加到我们的非Redis数据库时,我们把它加入到排序集合中。这时我们用的是时间属性,current_time和time_to_live。另一项后台任务使用ZRANGE…SCORES查询排序集合,取出最新的10个项目。如果发现unix时间已经过期,则在数据库中删除条目。

  5. 特定时间内的特定项目
    另一项对于其他数据库很难,但Redis做起来却轻而易举的事就是统计在某段特点时间里有多少特定用户访问了某个特定资源。比如我想要知道某些特定的注册用户或IP地址,他们到底有多少访问了某篇文章。
    SADD page:day1:

缓存问题

持久化

RDB:fork一个子进程在内存中的数据库记录定时dump到磁盘上的RDB持久化
AOF:追加日志的方式持久化

相关资料

Redis的高并发和快速原因

上一篇下一篇

猜你喜欢

热点阅读