redis底层相关命令(一)
说明
用于分析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底层相关命令(一)的更多相关文章
- Redis的相关命令
Redis的相关命令 redis程序的命令 /usr/bin/redis-benchmark /usr/bin/redis-check-aof /usr/bin/redis-check-rdb /us ...
- Redis key 相关命令
其实本质上,Redis 就是一个Key---Value 数据库.这里我先介绍下Redis中关于的key的相关命令, 注意:key是字符串存储,但是不能使用 空格 或者 “\n”,value 则可以使用 ...
- redis 之相关命令
为什么缓存数据库更要首选redis?如何使用redis? 一.使用缓存数据库为什么首选用redis? 我们都知道,把一些热数据存到缓存中可以极大的提高速度,那么问题来了,是用Redis好还是Memca ...
- redis连接相关命令
命令名称:echo 语法:echo message 功能: 打印一个特定的信息message,测试时使用. 返回值: message自身 命令名称:ping 语法:ping 功能: 使用客户端向red ...
- Redis集合相关命令
1.无序集合集合的特性:①确定性②互异性③无序性redis的set是string类型的无序集合set元素最大可以包含(2^32-1)个元素 sadd key value1....valueN 将将元素 ...
- redis启动相关命令(Windows)
一.安装redis:略 二.进入redis的安装目录,使用cmd 1.安装redis服务并加入window服务:redis-server --service-install redis.windows ...
- redis 库相关命令
切换数据库: select 1 查看数据库大小:dbsize 清空数据库: flushdb
- redis Hash相关命令
- redis Set相关命令
随机推荐
- 关于 ioctl 函数
ioctl函数是用于控制的设备的接口 1.底层: long (*unlocked_ioctl) (struct file *filp, unsigned int cmd, unsigned long ...
- Win32 API 多线程编程——一个简单实例(含消息参数传递)
Win32 API进行程序设计具有很多优点:应用程序执行代码小,运行效率高,但是他要求程序员编写的代码较多,且需要管理所有系统提供给程序的资源,要求程序员对Windows系统内核有一定的了解,会占用程 ...
- 转载:php excel 的处理
下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/ ...
- QML学习笔记(八)— QML实现列表侧滑覆盖按钮
QML实现列表右边滑动删除按钮,并覆盖原有的操作按钮,点击可实现删除当前项 本文链接:QML实现列表侧滑覆盖按钮 作者:狐狸家的鱼 GitHub:八至 列表实现在另一篇博客已经提及,列表可选中.拖拽. ...
- WPF ComboBox 默认选中无效
在WPF开发当中,我发现ComboBox的默认选中逻辑失效了,仔细查找后发现后台逻辑并没有出现问题. 测试后发现在XAML中,ComBoBox控件的SelectedValue属性需要写在ItemSou ...
- python3 实现简单ftp服务功能(客户端)
转载请注明出处! 可执行的命令: lspwdcd put rm get mkdir 上传下载,显示进度百分比以及平均上传下载速度 客户端 main代码: #Author by Andy #_*_ co ...
- Concurrent - 并发框架
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11426833.html SynchronizedMap和ConcurrentHashMap有什么区别? ...
- javascript 操作cookies详解
javascript 操作cookies详解 这段操作cookies的方法我使用很久了,但是一直一来没遇到什么问题,今天在做一个在第一个页面保存了cookies,第二个页面获取或者第三个页面获取的功能 ...
- PHP filter_input_array() 函数
定义和用法 filter_input_array() 函数从脚本外部获取多项输入(比如表单输入),并进行过滤. 该函数对过滤多个输入变量很有用,无需重复调用 filter_input(). 该函数可从 ...
- USB驱动程序设计
1.USB驱动模型 ①USB HOST控制器驱动 ②USBhexin ③USB客户端驱动 设备4个层次:设备(device).配置(Config).接口(Interface).端点(Endpoint) ...