技术栈1 - Redis(5) - redis应用

2019/01/17

redis应用

该文档列举了redis应用的实际用例,主要是对redis的实际运用加以理解。

阅读完该文档后,您将会了解到:

  • redis服务的发现和配置
  • 使用redis记录日志
  • redis计数器和统计
  • 实现自动补全联系人
  • 使用redis实现搜索引擎
  • 推荐广告

这篇博文主要是包含《redis实战》的5、6、7章节的部分实例,在此总结以加深印象。


outline

本博文主要包含5-8章的应用举例总结,加深对redis应用的理解。

第5章 使用redis构建支持程序(p88)

5.1 使用redis记录日志(p89)

使用redis记录日志并不是记录全量日志,而是最新日志和之前常见的日志。书中即记录当前一小时的日志以及上一个小时的常见日志。

  • 用途:

最新日志:分别记录最近的debug\info\warning\error\critical等日志情况,便于查看(这里使用的是列表存储,方便添加和删除日志);

常见日志:常见日志即我们认为重要的日志,比如用户的操作,加入购物车,购买等信息。这些都是很重要的日志信息,可用于数据挖掘。但是文章中并没有给出这个例子,而是,对不同的日志信息进行排序,对每个动作进行打分,从而只保存经常操作的那些动作,即表明这些操作是最重要的,有很高的商业价值。(有序集合)

  • 主要实现手段:

redis的有序集合和hash的结合,依照日志出现的频率进行评分,从而找出上一个小时的常见日志。

redis列表(list),当前小时的日志,则是使用pipeline全部添加,然后又在进行修剪保留最新的100条日志记录。

这种日志并不是完整的,需注意。

5.2 redis计数器和统计(p91)

计数器主要是记录网页或者某个按钮等在固定时间段中访问的次数,这对分析网站结构,以及资源分配有积极意义。

数据统计:

在统计学中,有几个重要的数据衡量指标,分别是最大值、最小值、平均值、数量、总分数、标准差等等;比如对一个网站进行优化,我么你需要记录网站各个页面的响应时间,这些数据有利于我们有正对性的进行优化。

书中计数器案例主要模拟,分别在1秒、5秒、一分钟、一小时等,网站的点击量,点击分为网站点击、销量或者数据库查询等点击,由于需要进行排序,所以使用的是有序表(zset)和哈希集(hash)结合。

  • 主要实现手段:

hash: 不同的时间片的信息统计

zset:分值为0,member是计数器精度(时间片) + 计数器名字

第6章 使用Redis构建应用程序组件(p109)

6.1 自动补全(p109)

第7章 基于搜索的应用程序(p153)

7.1 使用redis进行搜索(p153)

7.2 有序索引(p162)

7.3 广告定向(p166)

7.4 职位搜索(p180)


Show Disqus Comments

Post Directory