redis应用场景

来自——redis实战学习笔记

使用redis存储业务信息是一部分,还可以控制并监视系统在运行时一举一动.比如日志和计数器来收集系统当前状态信息,当然这些信息也可以直接存在常用的关系型数据库中,但是它会影响业务的性能

记录日志

我们平时的日志一般都是直接用的log4j,选择存储的是文本文件, 但是服务一般都是集群,所以日志是分散在各个web服务器上的, 想搜集有效的日志信息,非常麻烦,如果现在说,直接存在数据库中,这样可以解决文件分散的情况,但是会对业务做成影响.性能方面上. 这时候可以考虑redis.可以改一下log4j, 直接将数据保存到redis中.

最新日志

list仅支持的是对数量进行筛选,比如获取近100条日志记录,但是想对于获取近30天的数据,就无能为力了.这时候可以考虑使用sorted set实现按天获取,但是如果日志量不断增加, sorted set的额外开销还是比较大的,这时候可以使用两层list实现
* 记录日志时,把日志按天归档到不同 list中
* 比如今天的数据归档到key为20180703的list中,然后再额外设定一个用于保存归档时间的list.形式类似这样的
这里写图片描述
这样就使用lrange命令,就可以从arhive获取近30天的归档了, 然后再去相应的list访问具体数据.相对要高效了.

常用日志

  • 上面讲的是记录的最新日志,但是仅仅有它,知识适用于记录当前发送的事情,并不知道哪些消息是重要的.想要看特定消息出现的频率,可以采用这样的存储设计
    redis的五种数据类型—hash类型
    这里写图片描述

  • 根据日志级别,查看发生的详情
    list
    2018-7-3 10:59:24 message-2

计数器

这里写图片描述
通过计数器,知道了页面的点击量,可以判断是否对页面进行缓存,而下面,我们可以通过记录聚合统计数据来更准确地判断哪些地方需要优化?

存储统计数据

某个页面访问时间的统计示例:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳光下是个孩子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值