一、排序

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 设计与实现 (八)--排序、慢查询日志、监视器的更多相关文章

  1. 浅谈Redis之慢查询日志

    首先我们需要知道redis的慢查询日志有什么用?日常在使用redis的时候为什么要用慢查询日志? 第一个问题: 慢查询日志是为了记录执行时间超过给定时长的redis命令请求 第二个问题: 让使用者更好 ...

  2. Redis设计与实现——独立功能的实现

    发布和订阅 频道的订阅和退订 struct redisServer{ //键是被订阅者频道 ,键是一个链表,记录所有订阅这个频道的客户端 dict *publish_channels } 订阅实现: ...

  3. Redis | 第9章 Lua 脚本与排序《Redis设计与实现》

    目录 前言 1. Lua 脚本 1.1 Redis 创建并修改 Lua 环境的步骤 1.2 Lua 环境协作组件 1.3 EVAL 命令的实现 1.4 EVALSHA 命令的实现 1.5 脚本管理命令 ...

  4. Redis | 第10章 二进制数组、慢查询日志和监视器《Redis设计与实现》

    目录 前言 1. 二进制位数组 1.1 位数组的表示 1.2 GETBIT 命令的实现 1.3 SETBIT 命令的实现 1.4 BITECOUNT 命令的实现 1.5 BITOP 命令的实现 2. ...

  5. 【笔记】《Redis设计与实现》chapter22 二进制位数组 chapter23 慢查询日志 chapter24 监视器

    chapter22 二进制位数组 22.4 BITCOUNT命令的实现 遍历算法 查表算法 variable-precision SWAP算法 chapter23 慢查询日志 Redis的慢查询日志功 ...

  6. Redis设计原理简介

    学完MySQL InnoDB之后,又开始学习和研究Redis. 首先介绍下书:<Redis设计与实现>第二版 黄健宏著,机械工业出版社,388页,基于redis3.0版本.版本有点低,这个 ...

  7. Redis设计与实现(一~五整合版)【搬运】

    Redis设计与实现(一~五整合版) by @飘过的小牛 一 前言 项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串.但是一直听说redis是一个很 ...

  8. 《Redis设计与实现》读书笔记

    <Redis设计与实现>读书笔记 很喜欢这本书的创作过程,以开源的方式,托管到Git上进行创作: 作者通读了Redis源码,并分享了详细的带注释的源码,让学习Redis的朋友轻松不少: 阅 ...

  9. 《Redis设计与实现》

    <Redis设计与实现> 基本信息 作者: 黄健宏 丛书名: 数据库技术丛书 出版社:机械工业出版社 ISBN:9787111464747 上架时间:2014-6-3 出版日期:2014 ...

随机推荐

  1. 生成免费SSL通配证书

    通过Let's Encrypt 生成免费SSL证书 有效期是3个月 1.下载工具certbot-auto wget https://dl.eff.org/certbot-auto chmod +x c ...

  2. 初探storm

    Storm入门之Storm示例及UI参数讲解 Storm UI REST API Storm 1.1.0 中文文档 Apache Storm 1.1.0 中文文档 | ApacheCN Storm U ...

  3. 自己动手写Redis客户端- Redis协议(1)

    网络层 客户端和服务器通过 TCP 连接来进行数据交互, 服务器默认的端口号为 6379 . 客户端和服务器发送的命令或数据一律以 \r\n (CRLF)结尾. 请求 Redis 服务器接受命令以及命 ...

  4. sql server managerment 给表加说明

    右击表 =>点属性  =>扩展属性 =>加 MS_Description

  5. Random Erasing Augmentation(REA)

    为了增强模型的泛化的性能,一般的手段有数据增强和正则化方法(如dropout,BN),而用于数据增强的一般方法有:随机裁剪.随机水平翻转.平移.旋转.增加噪音和生成网络方法等(前两个方法用的最多,也最 ...

  6. 使用selenium操作ant design前端的页面,感觉页面没加载完

    因需要收集页面数据,遂准备使用selenium爬取瓦斯阅读页面, 瓦斯网站使用的是ant design,元素定位非常困难,页面元素都没有ID,现在还只是能做到操作登录,不能自动打开订阅,查询某公众号, ...

  7. 01安装Python虚拟环境

    链接 一,为什么安装虚拟环境? 如果你有0.1版本的Flask已经完成项目,此时Flask1.1版本出来的时候就会对0.1有影响,我们通过虚拟环境可以做到互补影响. 二,安装方法 cmd--pip-- ...

  8. 数据分析 大数据之路 三 numpy

    import numpy as np a = np.arange(9) b = a.reshape(3,3) print(b) print(b.max(axis=0)) # axis=0 示为 Y 轴 ...

  9. 大数据 - Java基础:读取键盘输入的方法

    Java中获取键盘输入值的三种方法 程序编写中,从键盘获取数据是一件非常普通又平常的事 C:scanf() C++:cin() C#:Read().ReadKey().ReadLine() Java没 ...

  10. Bootstarp 使用布局

    实现 Bootstrap 基本布局 看到了一篇 20 分钟打造 Bootstrap 站点的文章,内容有点老,重新使用 Bootstrap3 实现一下,将涉及的内容也尽可能详细说明. 1. 创建基本的页 ...