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 ...
随机推荐
- mysql的if用法解决同一张数据表里面两个字段是否相等统计数据量。
MySQL的使用用法如下所示:格式:if(Condition,A,B)意义:当Condition为true时,返回A:当Condition为false时,返回B.作用:作为条件语句使用.mysql的i ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(CMS)-第一章 入门篇-开篇及总体规划
.NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划 原文地址:https://www.cnblogs.com/yilezhu/p/9977862.html 写在前面 千呼万唤始出来 ...
- Django----列表分页(使用Django的分页组件)
目的:是为了实现列表分页 1.定制URL http://127.0.0.1:8000/blog/get_article?page=3之前定制URL是在url后增加了/id,这次使用参数的方式 def ...
- CentOS7完成mysql的安装和远程访问
详见链接https://blog.csdn.net/weixin_42266606/article/details/80879571 (此处我的本地用户名root,密码root:远程用户名root,密 ...
- Linux-网络基础
1.如何将俩台不同网络中的电脑通信,见下图
- sublime text 3启动报错"swallow_startup_errors"解决方法
启动sublime text 3报错: anaconda插件连接jsonserver服务出现错误 解决方法: 首选项 -- package settings -- Anaconda -- settin ...
- powershell_基础篇
powershell 想必大家对windows操作系统下的cmd命令提示符可能并不陌生,大多数人都应该使用过它.而对于今天我们要学习的PowerShell跟cmd有什么关系呢?可以简单地说,Power ...
- Linux服务器限制ssh登录,查看登录日志
网络上的服务器很容易受到攻击,最惨的就是被人登录并拿到root权限.有几个简单的防御措施: 1. 修改ssh服务的默认端口 ssh服务的默认端口是22,一般的恶意用户也往往扫描或尝试连接22端口.所以 ...
- jquery for循环
第一种: for(var i=0,len=$len.length; i<len; i++){//alert($len.eq(i).html());$zongshu=$zongshu+$len.e ...
- c#提交事务的两种方法
1. using (TransactionScope ts = new TransactionScope()) { 除非显示调用ts.Complete()方法.否则,系统不会自动提交这个事务.如果在代 ...