redis redis常用命令及内存分析总结(附RedisClient工具简介
redis常用命令及内存分析总结(附RedisClient工具简介
by:授客 QQ:1033553122
redis-cli工具
客户端,用于连接redis,位于 redis_install_home/bin/目录下
$ cd /app/redis/bin/
$ ls
redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server
查看帮助
$ ./redis-cli –h
连接redis数据库
$ ./redis-cli -h 10.202.40.105 -p 8080
$ ./redis-cli -h 10.202.40.105 -p 8080 -a admin435
说明:
-h 主机ip,默认是127.0.0.1
-p 端口,默认是6379
-a 密码 如果redis需要认证,但是连接时,没使用密码参数选项,即 –a <</font>密码>,进行一些操作时可能会提示需要授权认证,形如以下:
10.202.40.105:8080> info
(error) NOAUTH Authentication required.
解决方法:先执行auth命令,再执行目标操作
10.202.40.105:8080> auth "your_redis_password"
10.202.40.105:8080> info
常用命令
exists key
判断key是否存在
例.判断key shouke是否存在
10.202.40.105:8080> exists shouke
(integer) 0
说明:0,代表此key不存在;1代表存在。
set key value
设置key值为指定值value(key是否存在不影响命令的执行
例.设置key redistest3230的值为testvalue
10.202.40.105:8080> set redistest3230 testvalue
get key
获取键对应的值
例. 获取key redistest3230的值
10.202.40.105:8080> get redistest3230
mget key1, key2, key3,……
一次性获取多个键对应的值
例.一次获取redistest3230,redistest3231对应的值
10.202.40.105:8080> mget redistest3230 redistest3231
1) "\xac\xed\x00\x05sr\x00\x13java.util.ArrayListx\x81\xd2\x1d\x99\xc7a\x9d\x03\x00\x01I\x00\x04sizexp\x00\x00\x00\x00w\x04\x00\x00\x00\x00x"
2) "\xac\xed\x00\x05sr\x00\x13java.util.ArrayListx\x81\xd2\x1d\x99\xc7a\x9d\x03\x00\x01I\x00\x04sizexp\x00\x00\x00\x00w\x04\x00\x00\x00\x00x"
del key
删除键及对应的值
例. 删除键redistest3230及对应值
10.202.40.105:8080> del redistest3230
keys *
获取所有键
10.202.40.105:8080> keys *
1) "ddt:pf:msg:pushed:186176"
2) "ddt:industry:pfce:190339:1"
3) "ddt:pf:msg:pushed:190109"
4) "ddt:pf:msg:pushed:189437"
flushdb
命令用于清空当前数据库中的所有 key
10.202.40.105:8080> flushdb
OK
quit
退出
10.202.40.105:8080> quit
info
查看redis相关的一些统计信息,如cpu,内存信息等
10.202.40.105:8080> info
# Server
redis_version:2.8.19
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:227b3426abec2acc
redis_mode:standalone
os:Linux 2.6.32-504.el6.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.7
process_id:32916
run_id:d62082b420aa1f25f137b31d9adbfe4c09f0147f
tcp_port:8080
uptime_in_seconds:267069
uptime_in_days:3
hz:10
lru_clock:1923941
config_file:/app/redis/conf/DDT_CORE_CNSZ22_REDIS_CACHE_SVR_01.conf
# Clients
connected_clients:15
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
# Memory
used_memory:12499240
used_memory_human:11.92M
used_memory_rss:21557248
used_memory_peak:31953152
used_memory_peak_human:30.47M
used_memory_lua:35840
mem_fragmentation_ratio:1.72
mem_allocator:jemalloc-3.6.0
# Persistence
loading:0
rdb_changes_since_last_save:553
rdb_bgsave_in_progress:0
rdb_last_save_time:1495096122
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
# Stats
total_connections_received:1136
total_commands_processed:2337688
instantaneous_ops_per_sec:41
total_net_input_bytes:270205795
total_net_output_bytes:849151967
instantaneous_input_kbps:7.80
instantaneous_output_kbps:17.89
rejected_connections:0
sync_full:1
sync_partial_ok:0
sync_partial_err:0
expired_keys:13924
evicted_keys:0
keyspace_hits:111573
keyspace_misses:210756
pubsub_channels:1
pubsub_patterns:0
latest_fork_usec:864
# Replication
role:master
connected_slaves:1
slave0:ip=10.202.40.107,port=8080,state=online,offset=222468069,lag=1
master_repl_offset:222474508
repl_backlog_active:1
2017/5/18 21:00:01
repl_backlog_size:1048576
repl_backlog_first_byte_offset:221425933
repl_backlog_histlen:1048576
# CPU
used_cpu_sys:197.87
used_cpu_user:158.20
used_cpu_sys_children:3.28
used_cpu_user_children:13.11
# Keyspace
db0:keys=13332,expires=13332,avg_ttl=82839728
10.202.40.105:8080>
内存分析
# Memory
used_memory:30644632 //由redis分配器分配的,数据占用的内存大小(字节为单位),网上说是Redis实例中所有key及其value占用的内存大小,即个人理解,应该说主要是实例中所有key及其value占用的内存大小,因为即便执行flushdb命令,该参数仍不为0。
used_memory_human:29.22M //同used_memory,使用M为单位,更易读
used_memory_rss:38871040 // 操作系统分配给redis物理内存大小(字节为单位,包括内存碎片),这个值和 top 、 ps 等命令的输出一致。
used_memory_peak:30774512 //redis使用的内存峰值(字节为单位,包括虚拟内存)
used_memory_peak_human:29.35M //同used_memory_peak,使用M为单位,更易读
used_memory_lua:35840 // Lua 引擎所使用的内存大小(以字节为单位)
mem_fragmentation_ratio:1.27 //内存碎片比率:used_memory_rss/ used_memory ,mem_fragmentation_ratio小于1,表示redis已使用swap分区
mem_allocator:jemalloc-3.6.0 //在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc。
总的来说
1) used_memory_rss 的值通常会比 used_memory 稍微高一点,因为有内存碎片。
2) 当used_memory_rss > used_memory_peak,且两者的值相差较大时,表示存在内存碎片。
3) 当used_memory_rss < used_memory_peak,表示操作系统给redis分配的物理内存不足,redis使用了交换内存
客户端连接分析
# Clients
connected_clients:15 //已连接客户端的数量(不包括通过从属服务器连接的客户端)
client_longest_output_list:0 //当前连接的客户端当中,最长的输出列表
client_biggest_input_buf:0 //当前连接的客户端当中,最大输入缓存
blocked_clients:0 //正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量
RedisClient简介
如图 Server –> Add,填写redis数据库用户名,主机,端口,密码
结果如下
redis redis常用命令及内存分析总结(附RedisClient工具简介的更多相关文章
- Jedis对Redis的常用命令操作
本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...
- Linux下安装redis以及常用命令
https://blog.csdn.net/zgf19930504/article/details/51850594 安装: 1.获取redis资源 wget http://download.redi ...
- Redis的常用命令与Java整合及高级应用篇
一,redis是什么? 首先数据库分为关系型数据库和非关系型数据库,关系型数据库是采用关系模型来组织数据的数据库,简单来说就是二维表格模型,同时保证事务的一致性. 相反非关系型数据库采用key ...
- centos7 yum安装redis及常用命令
redis是什么 Redis是一种基于内存的数据结构存储,可持久化的日志型.Key-Value数据库.使用关系型数据库的站点达到一定并发量的时候,往往在磁盘IO上会有瓶颈,这时候配合redis就有一定 ...
- 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令
Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...
- 【redis】常用命令
三.常用命令 1)连接操作命令 quit:关闭连接(connection) auth:简单密码认证 help cmd: 查看cmd帮助,例如:help quit ...
- Redis(2):常用命令详解
redis命令不区分大小写 通用命令:1. 获得符合规则的键名列表: keys pattern 其中pattern符合glob风格 ? (一个字符) * (任意个字符) [] (匹配其中的任意一 ...
- redis常用命令与使用分析
redis-cli的使用 连接服务器 redis-cli -h 127.0.0.1 -p 6392 -a 123456 set操作 语法 sadd key [members.......] ...
- Redis 实战 —— 04. Redis 数据结构常用命令简介
字符串 P39 Redis 的字符串是一个有字节组成的序列,可以存储以下 3 种类型的值:字节串(byte string).整数.浮点数. 在需要的时候, Redis 会将整数转换成浮点数.整数的取值 ...
随机推荐
- OLED屏幕详细使用
IC扩展-OLED屏的点亮,模拟IIC功能实现C代码点亮OLED屏,只要是可以C编程且有两个GPIO口的单片机均可更改小部分代码使用.OLED屏为像素自发光,其尺寸多为128*64,表示横轴上有128 ...
- HTML一些有趣的东西
1.<head>标签里: <meta http-equiv="Refresh" content="3"/><!--三秒自动刷新-- ...
- VMware Workstation Pro网络配置(WiFi配置等)
常用技巧 连续按两下ctrl+alt,实现鼠标脱离 VMware Workstation Pro网络配置有几种模式: 桥接模式: 网络上的独立主机 占用路由器新IP资源 通过VMware Networ ...
- 整理+学习《骆昊-Java面试题全集(上)》
★可以关注微信公众号,了解更多技术和行业信息 2013年年底的时候,我看到了网上流传的一个叫做<Java面试题大全>的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不 ...
- tensorflow 1.0 学习:参数和特征的提取
在tf中,参与训练的参数可用 tf.trainable_variables()提取出来,如: #取出所有参与训练的参数 params=tf.trainable_variables() print(&q ...
- Centos6.5搭建grok匹配测试网站
最近在使用ELK对日志进行集中管理,因为涉及到日志的规则经常要用到http://grokdebug.herokuapp.com/进行调试,但是国外的网站访问太慢,这儿推荐一个国内的网站http://g ...
- 全网最详细的一款满足多台电脑共用一个鼠标和键盘的工具Synergy(图文详解)
不多说,直接上干货! 前言 如今无论你是在公司做大数据开发还是实验室里搞科研,这个软件确实好用,作为正在通往大数据架构师路上的我们没有几台电脑怎么行?台式机.笔记本,都放在写字台上,笔记本内置键盘鼠标 ...
- 怎么样使用CLion调试分析MySQL Server
由于在写MySQL日志订阅服务时候,需要确定在什么event之后保存position,所以就开始研究MySQL的源码,刚开始采用最原始的打印输出的方式去调试,然后每次改完编译运行,效率好低,让我很绝望 ...
- Ubuntu16.04环境下搭建基于三台主机的mysql galera cluster集群(实测有效)
(注意: (1)文中红色字体部分不一定需要操作 (2)由于word文档编辑的原因,实际操作时部分命令需要手动输入!!直接复制粘贴会提示错误!! ) 一 搭建环境: 1 Ubuntu16.04版本(系 ...
- 深入学习主成分分析(PCA)算法原理(Python实现)
一:引入问题 首先看一个表格,下表是某些学生的语文,数学,物理,化学成绩统计: 首先,假设这些科目成绩不相关,也就是说某一科目考多少分与其他科目没有关系,那么如何判断三个学生的优秀程度呢?首先我们一眼 ...