在MysqL中存在慢日志的概念(参考MySQL索引原理之查询优化 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)),Redis中也提供慢日志的功能用于监视和优化查询。下面介绍Redis中慢日志相关的操作
1、设置
Redis使用列表存储慢查询日志,采用队列方式(FIFO)。
config set的方式可以临时设置,redis重启后就无效
config set slowlog-log-slower-than 微秒
config set slowlog-max-len 条数
2、阅读及删除
查看日志:slowlog get [n]
清除日志:slowlog reset
3、慢查询定位及处理
使用slowlog get 可以获得执行较慢的redis命令,针对该命令可以进行优化:
1)尽量使用短的key,对于value有些也可精简,能使用int就int。
2)避免使用keys *、hgetall等全量操作。
3)减少大key的存取,打散为小key 100K以上
4)将rdb改为aof模式:rdb fork 子进程 数据量过大 主进程阻塞 redis性能大幅下降关闭持久化 , (适合于数据量较小,有固定数据源)
5)想要一次添加多条数据的时候可以使用管道
6)尽可能地使用哈希存储
7)尽量限制下redis使用的内存大小,这样可以避免redis使用swap分区或者出现OOM错误内存与硬盘的swap
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。