说明

用于分析redis底层数据结构以及内存情况

底层数据结构分析

1.查看key键的对象类型type key

本地:>sadd  test1      

本地:>type test1
set

2.查看key键对应redi对象类型的数据结构

sadd  test1      

本地:>ct encoding test1
intset

本地:>sadd test1 f

本地:>object encoding test1
hashtable

3.查看对应key值的引用计数(被共享而不是重复创建)

1919alitest:>
OK

1919alitest:>
OK

1919alitest:>object refcount test2

应为redis默认会创建0-9999的字符串对象  然后所有地方再使用这个范围对象 都将会被共享  redis只会将值类型字符串对象设置共享

3.查看上一次key的访问时间(秒)

1919alitest:>object idletime test2

通过当前时间 减去值对象的lru时间

如果服务器开启了maxmemory以及内存回收设置为volatile-lru  越久没访问的会越先被回收

3.查看链接客户端

1919alitest:>client list
id= addr=ip: name= age= idle= flags=N db= sub= psub= multi=- qbuf= qbuf-free= obl= oll= omem= events=r cmd=ping
id= addr=ip: name= age= idle= flags=N db= sub= psub= multi=- qbuf= qbuf-free= obl= oll= omem= events=r cmd=ping

默认是没有名字的 可以在redis 客户端api 为客户端指定名字

flags标识客户端类型

https://www.runoob.com/redis/server-client-list.html

4.服务器 最近一秒钟 执行执行命令数(预估)

1919alitest:>info stats
# Stats
total_connections_received:
total_commands_processed:
instantaneous_ops_per_sec:12038  #最近一秒执行数量(抽样)
total_net_input_bytes:
total_net_output_bytes:
instantaneous_input_kbps:653.76
instantaneous_output_kbps:739.35
rejected_connections:
sync_full:
sync_partial_ok:
sync_partial_err:
expired_keys:
expired_stale_perc:0.15
expired_time_cap_reached_count:
evicted_keys:
keyspace_hits:
keyspace_misses:
pubsub_channels:
pubsub_patterns:
latest_fork_usec:
migrate_cached_sockets:
slave_expires_tracked_keys:
active_defrag_hits:
active_defrag_misses:
active_defrag_key_hits:
active_defrag_key_misses:

5.查看服务器内存信息

1919alitest:>info memory
# Memory
used_memory:12778212464 #由 Redis 分配器分配的内存总量,包含了redis进程内部的开销和数据占用的内存,以字节(byte)为单位
used_memory_human:.90G #以更直观的可读格式显示返回使用的内存量
used_memory_rss:13251571712 #rss是Resident Set Size的缩写,表示该进程所占物理内存的大小,是操作系统分配给Redis实例的内存大小。
used_memory_rss_human:.34G #以更直观的可读格式显示该进程所占物理内存的大小。
used_memory_peak:12868481568 #redis的内存消耗峰值(以字节为单位)
used_memory_peak_human:.98G #以更直观的可读格式显示返回redis的内存消耗峰值
used_memory_peak_perc:99.30% #使用内存达到峰值内存的百分比,即(used_memory/ used_memory_peak) *100%
used_memory_overhead:1962505452 Redis为了维护数据集的内部机制所需的内存开销,包括所有客户端输出缓冲区、查询缓冲区、A
used_memory_startup:786584 #:Redis服务器启动时消耗的内存
used_memory_dataset:10815707012 数据占用的内存大小,即used_memory-used_memory_overhead
used_memory_dataset_perc:84.65%
total_system_memory:33668595712 #整个系统内存
total_system_memory_human:.36G #以更直观的可读格式显示整个系统内存
used_memory_lua:47104 #Lua脚本存储占用的内存
used_memory_lua_human:.00K #Lua脚本存储占用的内存
maxmemory:
maxmemory_human:.00G #Redis实例的最大内存配置
maxmemory_policy:noeviction #当达到maxmemory时的淘汰策略
mem_fragmentation_ratio:1.04
mem_allocator:jemalloc-
active_defrag_running:
lazyfree_pending_objects:0 #表示redis执行lazy free操作,在等待被实际回收内容的键个数

https://baijiahao.baidu.com/s?id=1610139396248906453&wfr=spider&for=pc

6.查看主从信息

1919alitest:>info replication
# Replication
role:master
connected_slaves:
slave0:ip=,state=online,offset=,lag=
master_replid:58116e07ddecc0065a08a45101c18c9ecf779c6a
master_replid2:
master_repl_offset:
second_repl_offset:-
repl_backlog_active:
repl_backlog_size:
repl_backlog_first_byte_offset:
repl_backlog_histlen:

redis底层相关命令(一)的更多相关文章

  1. Redis的相关命令

    Redis的相关命令 redis程序的命令 /usr/bin/redis-benchmark /usr/bin/redis-check-aof /usr/bin/redis-check-rdb /us ...

  2. Redis key 相关命令

    其实本质上,Redis 就是一个Key---Value 数据库.这里我先介绍下Redis中关于的key的相关命令, 注意:key是字符串存储,但是不能使用 空格 或者 “\n”,value 则可以使用 ...

  3. redis 之相关命令

    为什么缓存数据库更要首选redis?如何使用redis? 一.使用缓存数据库为什么首选用redis? 我们都知道,把一些热数据存到缓存中可以极大的提高速度,那么问题来了,是用Redis好还是Memca ...

  4. redis连接相关命令

    命令名称:echo 语法:echo message 功能: 打印一个特定的信息message,测试时使用. 返回值: message自身 命令名称:ping 语法:ping 功能: 使用客户端向red ...

  5. Redis集合相关命令

    1.无序集合集合的特性:①确定性②互异性③无序性redis的set是string类型的无序集合set元素最大可以包含(2^32-1)个元素 sadd key value1....valueN 将将元素 ...

  6. redis启动相关命令(Windows)

    一.安装redis:略 二.进入redis的安装目录,使用cmd 1.安装redis服务并加入window服务:redis-server --service-install redis.windows ...

  7. redis 库相关命令

    切换数据库: select 1 查看数据库大小:dbsize 清空数据库: flushdb

  8. redis Hash相关命令

  9. redis Set相关命令

随机推荐

  1. var name全局变量 typeof 类型一直是 string

    在全局中 window.name=" "; name属性在全局中比较特殊,不管var name =  任何值,它最终等于的都是字符串 console.log(window.name ...

  2. 常看 Shell: 文本文件操作

    文件显示和信息 wc wc 可以用于统计文件的行数和单词数. nl nl 在文件的每行内容前面加上行号. 基于行的操作 grep grep 用于筛选匹配特定字符的行. grep "Hello ...

  3. 最大公因数数gcd模板

    首先蒟蒻是在大佬的博客里学习的代码,代码风格多有相似之处,大佬博客https://www.cnblogs.com/lMonster81/p/10433902.html 最大公因数那,顾名思义就是两个数 ...

  4. vue.js mixins 使用

    export default { data () { return { } }, created () { }, methods: { arrayContain (array, obj) { for ...

  5. OC学习篇之---@class关键字的作用以及#include和#import的区别

    前一篇文章说到了OC中类的三大特性:http://blog.csdn.net/jiangwei0910410003/article/details/41707161今天我们来看一下在学习OC的过程中遇 ...

  6. 高级运维(七):Subversion基本操作、使用Subversion协同工作、制作nginx的RPM包

    一.Subversion基本操作 目标: 本案例要求先快速搭建好一台Subversion服务器,并测试该版本控制软件: 1> 创建版本库    2> 导入初始化数据    3> 检出 ...

  7. AcWing 225. 矩阵幂求和 (矩阵快速幂+分治)打卡

    题目:https://www.acwing.com/problem/content/227/ 题意:给你n,k,m,然后输入一个n阶矩阵A,让你求  S=A+A^2+A^3.+......+A^k 思 ...

  8. nginx 全面优化 负载均衡

    修改nginx.conf文件,它保存有nginx不同模块的全部设置.如果是原生安装的话应该在服务器的 /etc/nginx 目录找到 nginx.conf ,使用其它安装包的话也可以自行查找nginx ...

  9. MySQL 下载,安装,配置windows 服务

    本次使用的是压缩包的方式是可以纯手动自己折腾各种配置... ok,闲话少叙,我们准备发车... 一.先要去mysql官网去下载压缩包咯 ①下载地址:https://dev.mysql.com/down ...

  10. python selenium模拟登陆163邮箱。

    selenium是可以模拟浏览器操作. 有些爬虫是异步加载的,通过爬取网页源码是得不到需要的内容.所以可以模拟浏览器去登陆该网站进行爬取操作. 需要安装selenium通过pip install xx ...