Redis 设计与实现 (八)--排序、慢查询日志、监视器
一、排序
SORT <key> 对一个数字值的key进行排序
1、alpha 对字符串类型的键进行排序
2、asc / desc
redis 默认升序排序asc
desc 与之相反
3、by
根据权重排序。
127.0.0.1:> sadd usres "vip" "ordinary" "visotor"
(integer)
127.0.0.1:> sort usres alpha
) "ordinary"
) "vip"
) "visotor"
127.0.0.1:> mset vip-sort ordinary-sort visotor-sort -
OK
127.0.0.1:> sort usres by *-sort
) "visotor"
) "ordinary"
) "vip"
127.0.0.1:>
4、limit <从哪开始><娶几个>
127.0.0.1:> sort usres alpha limit
) "ordinary"
) "vip"
127.0.0.1:>
5、get
通过get模式匹配后格式化
127.0.0.1:> sort usres alpha
) "ordinary"
) "vip"
) "visotor"
127.0.0.1:>
127.0.0.1:> set vip "sc"
OK
127.0.0.1:> set ordinary "kk"
OK
127.0.0.1:> set visotor "123ewdfrgv"
OK
127.0.0.1:> sort usres alpha get *
) "kk"
) "sc"
) "123ewdfrgv"
127.0.0.1:>
6、store 保存排序结果
127.0.0.1:> sort usres alpha get * store names
(integer)
127.0.0.1:> lrange names -
) "kk"
) "sc"
) "123ewdfrgv"
127.0.0.1:>
7、上述选项执行顺序
a、排序: alpha 、asc 、 desc 、 by
b、限制结果集:limit
c、获取外部键:get
d、保存排序结果:store
二、慢查询日志
设置超时毫秒数:slowlog-slower-than
127.0.0.1:> config set slowlog-slower-than 0
OK
设置最大记录数量:slowlog-max-len
127.0.0.1:> config set slowlog-max-len
OK
查看日志 :slowlog get
127.0.0.1:> set sc "sun"
OK
127.0.0.1:> set y "yuan"
OK
127.0.0.1:> set c "ong"
OK
127.0.0.1:> slowlog get
) ) (integer) 8 //日志主键
) (integer) 1520643052 //时间戳
) (integer) 4 //时长
) ) "set" //命令以及参数
) "c"
) "ong"
) "127.0.0.1:34010"
) ""
) ) (integer)
) (integer)
) (integer)
) ) "set"
) "y"
) "yuan"
) "127.0.0.1:34010"
) ""
) ) (integer)
) (integer)
) (integer)
) ) "set"
) "sc"
) "sun"
) "127.0.0.1:34010"
) ""
三、监视器 monitor
监视器客户端执行:
127.0.0.1:> monitor
OK
请求客户端,执行命令:
# redis-cli
127.0.0.1:> set name "sc"
OK
127.0.0.1:>
监视器,监视:
127.0.0.1:> monitor
OK
1520643372.474104 [ 127.0.0.1:] "COMMAND"
1520643389.095506 [ 127.0.0.1:] "set" "name" "sc"
Redis 设计与实现 (八)--排序、慢查询日志、监视器的更多相关文章
- 浅谈Redis之慢查询日志
首先我们需要知道redis的慢查询日志有什么用?日常在使用redis的时候为什么要用慢查询日志? 第一个问题: 慢查询日志是为了记录执行时间超过给定时长的redis命令请求 第二个问题: 让使用者更好 ...
- Redis设计与实现——独立功能的实现
发布和订阅 频道的订阅和退订 struct redisServer{ //键是被订阅者频道 ,键是一个链表,记录所有订阅这个频道的客户端 dict *publish_channels } 订阅实现: ...
- Redis | 第9章 Lua 脚本与排序《Redis设计与实现》
目录 前言 1. Lua 脚本 1.1 Redis 创建并修改 Lua 环境的步骤 1.2 Lua 环境协作组件 1.3 EVAL 命令的实现 1.4 EVALSHA 命令的实现 1.5 脚本管理命令 ...
- Redis | 第10章 二进制数组、慢查询日志和监视器《Redis设计与实现》
目录 前言 1. 二进制位数组 1.1 位数组的表示 1.2 GETBIT 命令的实现 1.3 SETBIT 命令的实现 1.4 BITECOUNT 命令的实现 1.5 BITOP 命令的实现 2. ...
- 【笔记】《Redis设计与实现》chapter22 二进制位数组 chapter23 慢查询日志 chapter24 监视器
chapter22 二进制位数组 22.4 BITCOUNT命令的实现 遍历算法 查表算法 variable-precision SWAP算法 chapter23 慢查询日志 Redis的慢查询日志功 ...
- Redis设计原理简介
学完MySQL InnoDB之后,又开始学习和研究Redis. 首先介绍下书:<Redis设计与实现>第二版 黄健宏著,机械工业出版社,388页,基于redis3.0版本.版本有点低,这个 ...
- Redis设计与实现(一~五整合版)【搬运】
Redis设计与实现(一~五整合版) by @飘过的小牛 一 前言 项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串.但是一直听说redis是一个很 ...
- 《Redis设计与实现》读书笔记
<Redis设计与实现>读书笔记 很喜欢这本书的创作过程,以开源的方式,托管到Git上进行创作: 作者通读了Redis源码,并分享了详细的带注释的源码,让学习Redis的朋友轻松不少: 阅 ...
- 《Redis设计与实现》
<Redis设计与实现> 基本信息 作者: 黄健宏 丛书名: 数据库技术丛书 出版社:机械工业出版社 ISBN:9787111464747 上架时间:2014-6-3 出版日期:2014 ...
随机推荐
- char和unsigned char--数据类型区别
char和unsigned char --数据类型区别 除去布尔型和扩展的字符型之外,其它整型可以划分为带符号的(signed)和无符号的(unsigned)两种. 类型int.short.long和 ...
- 一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别
一.这四个方法的用处 1.用来编码和解码URI的 统一资源标识符,或叫做 URI,是用来标识互联网上的资源(例如,网页或文件)和怎样访问这些资源的传输协议(例如,HTTP 或 FTP)的字符串.除了e ...
- windows安装node和yarn
Ubuntu子系统安装和删除yarn 在 Debian 或 Ubuntu 上,需要用 Debian 包仓库来安装 Yarn. 首先需要配置仓库: curl -sS https://dl.yarnpkg ...
- SparkStreaming
Spark Streaming用于流式数据的处理.Spark Streaming支持的数据输入源很多,例如:Kafka.Flume.Twitter.ZeroMQ和简单的TCP套接字等等.数据输入后可以 ...
- 怎么给easyui中的datagrid加水平滚动条
注意如下几个点就行: 1.数据网格(DataGrid)所在的table属性上级div无需设置width: 2..datagrid属性:fitColumns为false 或者不填 3.在style中给. ...
- php八种常用函数
八种常用的数学函数: ① abs(x):求绝对值 ② ceil(x),floor(x):向上/下取最接近的整数 ③ cos(x),sin(x),tan(x):三角函数 ④ min(),max( ...
- Chrome开发者工具面板
Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Network面板.Timeline面板.Profiles面板.Application面板.Sec ...
- JQuery模拟常见的拖拽验证
css部分 <style> #drag{ position: relative; background-color: #e8e8e8; width: 300px; height: 34px ...
- ASP.NET MVC 网页应用 action 传递的Model
视图界面 @using {引用模型} @model {具体模型} <html> @Model.{具体模型的属性} </html> 注意区分Model的大小写 引入时,使用@mo ...
- 关于height、offsetheight、clientheight、scrollheight、innerheight、outerheight的区别
二.也是平时经常用到的offsetheight 它返回的高度是内容高+padding+边框,但是注意哦,木有加margin哦,当然一般也木有啥需要把margin加进去的,以上代码为例,结果显示上图h2 ...