一、排序

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. eclipse集成testng插件

    一.TestNG简介 TestNG是一个开源自动化测试框架,它受到JUnit和NUnit的启发,而引入了许多新的创新功能,如依赖测试,分组概念,使测试更强大,更容易做到. 它旨在涵盖所有类别的测试:单 ...

  2. 用spark-submit启动程序

    来源:http://spark.apache.org/docs/latest/submitting-applications.html 提交程序常用的一些选项 ./bin/spark-submit \ ...

  3. C++一个类对象的大小计算

    计算一个类对象的大小时的规律: 1.空类.单一继承的空类.多重继承的空类所占空间大小为:1(字节,下同): 2.一个类中,虚函数本身.成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空 ...

  4. 腾讯工蜂Git关联Jenkins Hooks

    现在国内外Git平台非常多,最近维护的腾讯工蜂免费公网版本git.code.tencent.com,免注册(建议使用微信登录,舒服)即可使用私有仓库.对小型团队体验还不错,如果要关联Jenkins进行 ...

  5. python默认参数陷阱

    对于学习python的人都有这样的困惑 def foo(a=[]): a.append(5) return a Python新手希望这个函数总是返回一个只包含一个元素的列表:[5].结果却非常不同,而 ...

  6. SpringBoot-异常问题总结

    一:创建的SpringBoot项目之后测试访问接口报错: Whitelabel Error Page This application has no explicit mapping for /err ...

  7. python基础day1

    一.python介绍 1.1简介 Python  (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum ...

  8. C++ Json解析CJsonObject的详细使用

    引用头文件: #include <string> #include <iostream> #include <fstream> #include <casse ...

  9. Nessus更新到8.3.0

    Nessus更新到8.3.0 更新内容包括: (1)专业版的报告功能更为灵活,允许用户选择包含的信息. (2)提升Nessus Manager的性能. (3)允许扫描模版多次更新. (4)生成报告时, ...

  10. Python-写文件

    写文件需要三步:打开文件写入内容关闭文件 写入内容一般要选择打开的模式:f = open('out.txt','w')此处的w就是writing,代表以写入文件的模式打开,原文件里的内容会被新写入覆盖 ...