redis常用命令及内存分析总结(附RedisClient工具简介

by:授客 QQ:1033553122

redis-cli工具

查看帮助

连接redis数据库

常用命令

exists key

set key value

get key

mget key1, key2, key3,……

del key

keys * 

flushdb

quit

info

内存分析

客户端连接分析

RedisClient简介

 

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工具简介的更多相关文章

  1. Jedis对Redis的常用命令操作

    本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...

  2. Linux下安装redis以及常用命令

    https://blog.csdn.net/zgf19930504/article/details/51850594 安装: 1.获取redis资源 wget http://download.redi ...

  3. Redis的常用命令与Java整合及高级应用篇

    一,redis是什么? ​ 首先数据库分为关系型数据库和非关系型数据库,关系型数据库是采用关系模型来组织数据的数据库,简单来说就是二维表格模型,同时保证事务的一致性. ​ 相反非关系型数据库采用key ...

  4. centos7 yum安装redis及常用命令

    redis是什么 Redis是一种基于内存的数据结构存储,可持久化的日志型.Key-Value数据库.使用关系型数据库的站点达到一定并发量的时候,往往在磁盘IO上会有瓶颈,这时候配合redis就有一定 ...

  5. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令

     Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...

  6. 【redis】常用命令

    三.常用命令    1)连接操作命令    quit:关闭连接(connection)    auth:简单密码认证    help cmd: 查看cmd帮助,例如:help quit         ...

  7. Redis(2):常用命令详解

    redis命令不区分大小写 通用命令:1. 获得符合规则的键名列表: keys pattern   其中pattern符合glob风格  ? (一个字符) * (任意个字符) [] (匹配其中的任意一 ...

  8. redis常用命令与使用分析

    redis-cli的使用 连接服务器 redis-cli -h 127.0.0.1 -p 6392  -a 123456 set操作 语法 sadd key [members.......]      ...

  9. Redis 实战 —— 04. Redis 数据结构常用命令简介

    字符串 P39 Redis 的字符串是一个有字节组成的序列,可以存储以下 3 种类型的值:字节串(byte string).整数.浮点数. 在需要的时候, Redis 会将整数转换成浮点数.整数的取值 ...

随机推荐

  1. SpringMVC项目容易出现的BUG

    1.400错误:1.语义有误,当前请求无法被服务器理解.除非进行修改,否则客户端不应该重复提交这个请求. 2.请求参数有误. 你发送的请求有误,这个问题去页面提交的地方看. 如:你想删除一条数据,id ...

  2. ubuntu 16.04 安装cuda的方法

    很多神经网络架构都需要安装CUDA,安装这个的确费了我不少时间,是要总结一下流程了. 安装这个,最好使用官网的安装步骤和流程,不然,会走很多弯路: https://developer.nvidia.c ...

  3. 工作随笔—integer对象比较

    问题:对于integer对象,当比较2==2的时候,返回的值是true还是false?当比较2000==2000的时候,返回的值是true还是false? 回答:当比较2==2的时候,返回的值是tru ...

  4. [原创]K8Cscan插件之存活主机扫描

    [原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...

  5. Linux系统 - 源码编译安装Nginx

    什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...

  6. NodeJS学习笔记 - Apache反向代理集成实现

    初学,简单的实现,为进行优化. 1. 假设NodeJS服务端监听3000端口 2. Apache反向代理设置 a. 在httpd.conf配置文件中开启代理模块 LoadModule proxy_mo ...

  7. visual Studio 2017 扩展开发(三)《绑定快捷键到菜单项》

    如何将键盘快捷方式映射到自定义按钮,怎么使用快捷键启动自己创建的菜单,刚开始做的时候迷糊了,找了很久.可能也是因为刚开始做不是很明白,后面慢慢就懂了.其实非常简单的. 很多快捷键已经在Visual s ...

  8. Mybatis数据源

    在描述mybatis数据源之前,先抛出几个问题,这几个问题都能在本文得到解答 1.mybatis是如何获取到mysql连接的? 2.mybatis的Connection是怎么被创建的? 1.Datas ...

  9. 关于kubernetes使用私有仓库一点说明

    一.概述 关于kubernetes使用私有docker image  registry的一些说明: 1.对于自己构建的项目镜像或一些不想暴露到外网的image需要使用自建的私有仓库,一般有两种选择:d ...

  10. git在工作中的用法总结-使用篇

    上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一 ...