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)