慢查询日志 pipeline

以下内容为简述,具体的看官当文档
http://www.redis.cn/topics/pipelining.html

慢查询日志

说慢查询日志之前先说redis发送命令到结束命令的生命周期
在这里插入图片描述
慢查询日志的配置主要是两个参数的配置

slowlog-max-len
这个配置参数主要用来设置慢查询日志队列的长度 默认值为128
慢查询日志队列有三个特性

  • 长度固定
  • 先进先出队列
  • 保存在内存中

showlog-log-slower-than
设置慢查询日志的阙值,超过多少微秒会被记录 单位微秒(1秒=1000000微秒),默认值为10000微秒(10毫秒(10ms))

  • 其值等于 0 时表示记录所有的命令
  • 小于0 时表示不记录所有的命令

有两种配置方式 一种是通过配置文件,还有一种是通过命令配置
命令行配置/查看

  • config get/set slowlog-max-len
  • config get/set showlog-log-slower-than

常用命令

  1. SLOWLOG GET

    通过该命令查看服务器所保存的慢查询日志。
    在这里插入图片描述
    可以看到每个慢查询日志分为四部分 分别是 id,时间戳,执行时间,执行命令(命令,参数,参数列表)

  2. SLOWLOG LEN
    获取慢查询列表当前的长度

  3. SLOWLOG RESET
    对慢查询列表清理(重置)

运维经验

  1. showlog-log-slower-than 阈值不要设置过大,默认10ms,通常设置1ms
  2. slowlog-max-len 一般线上设置1000
  3. 定期对慢查询持久化
pipeline

先看批量执行redis命令的情况
在这里插入图片描述
这样的话 n次命令请求的时间 = n次网络传输时间 + n次命令执行的时间
redis的命令执行速度很快,但是网络的传输却不一定了。若是一次网络传输 执行n个命令 那么效率将大大提升。但是redis的很多命令并不像mget那样可以成批量的操作,所有就有了pipeline
注意:pipeline并非原子操作,但返回的结果是顺序的

管道技术的出现可以一次网络连接发送多次的命令,但是这样会强制服务器回复一个队列的命令,占用大量的内存。所以若是要发送大量的命令,需要合理的设计分配使之分次发送,从而避免服务器响应结果过大占用内存过多。

消息订阅

redis的发布订阅分为三个部分

发布者(publisher)
频道 (channel)
订阅者(subscriber)

命令介绍
发布频道信息: publish channel message
在这里插入图片描述
订阅频道
subscribe channel(频道)
在这里插入图片描述
取消订阅
unsubscribe channel

设置过期时间

过期时间的设计 一种是在添加key-value的时候设置,另一种是通过expire设置。可以设置过期的秒数/毫秒数 还可以设自治成时间戳的形式。

expire设置过期时间 persist清除过期时间

redis的过期时间是使用unix时间戳,这表示即使redis实例未使用,时间也是在流逝的。所以要使用准确的时间。同时若是将rdb文件运行在不同时间的计算机上,还会造成key过期的情况
redis清除过期key的方式分为三种

关于rename命令:分为两种情况

  • rename后原来的key上的过期时间将会转移到新设置的key上
  • 若原来就存在key_a ,执行rename key_b key_a ,那么不管key_b设置的是永久的还是有过期时间的,都将被key_a覆盖掉。

关于过期精度:从redia2.6版本开始,过期时间的误差精确到了0-1毫秒

  • 主动清除
  • 被动清除
  • 策略模式

第一种简单说就是设置过期时间,当这个key过期的时候,并不会自动的清除,而是当我们在执行改变key的值的命令的时候,才会被动的触发清除 例如get,set,getset命令,以及incr等命令

第二种就是redis定时随机的抽取定量的key对其进行测试,若是达到过期时间,将进行清除。若一次抽取中超过25%的key过期,redis将重复操作进行清除。

第三中就是通过过期策略进行。过期策略共有六种。具体的看官方文档讲解。

事务

redis的事务是以exec为根据的。同时不支持事物的回滚。
具体的看官方文档,在此粗暴的记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值