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 ...
随机推荐
- 2018年冬季寒假作业4--PTA 抓老鼠啊~亏了还是赚了?
1. 实验代码; #include<stdio.h> ; void search(char a,int *p){ if(a=='X'){ ) *p=; ; printf("U&q ...
- hackerrank杂记
https://www.hackerrank.com/challenges/py-set-discard-remove-pop/forum 知识点: *list:将list中的值取出,取出的数据大小是 ...
- 浅析布隆过滤器及实现demo
布隆过滤器 布隆过滤器(Bloom Filter)是一种概率空间高效的数据结构.它与hashmap非常相似,用于检索一个元素是否在一个集合中.它在检索元素是否存在时,能很好地取舍空间使用率与误报比例. ...
- 4、Nginx安装与配置
一.简介 Nginx官网:http://nginx.org/ Nginx(发音同engine x)是一个异步框架的 Web服务器,也可以用作反向代理,负载平衡器 和 HTTP缓存.该软件由 Igor ...
- Alpha冲刺——代码规范、冲刺任务与计划
代码规范 作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Alpha冲刺(团队) 团队目标 切实可行的计算机协会维修预约平台 开发工具 Eclipse 团队信息 ...
- Mac下brew安装JDK的教程
---恢复内容开始--- 安装命令: brew cask install java 默认应该会下载jdk7 也可以指定下载版本brew cask install java6 注意: brew inst ...
- Codeforces 938D. Buy a Ticket (最短路+建图)
<题目链接> 题目大意: 有n座城市,每一个城市都有一个听演唱会的价格,这n座城市由m条无向边连接,每天变都有其对应的边权.现在要求出每个城市的人,看一场演唱会的最小价值(总共花费的价值= ...
- P2733 家的范围 Home on the Range-弱DP
P2733 家的范围 Home on the Range 思路 :转化为以每个点为右下角的 最大正方形的边长 #include<bits/stdc++.h> using namespace ...
- Loading Data into a Table;MySQL从本地向数据库导入数据
在localhost中准备好了一个test数据库和一个pet表: mysql> SHOW DATABASES; +--------------------+ | Database | +---- ...
- centos6.5使用LVM
1.添加硬盘 centos6以前的版本用kudzu来不重启识别新硬件. [root@xen01 ~]# /etc/init.d/kudzu start -bash: /etc/init.d/kudzu ...