redis 命令

redis单机版启动:

[root@localhost src]# ./redis-server /usr/local/redis/redis-3.2.10/redis.conf 

redis单机版终止服务进程:

redis-cli shutdown

 

redis单机版连接登录方式:

#不带密码的redis单机
redis-cli -h host -p port
#带密码的redis单机
redis-cli -h host -p port -a password

redis集群版连接登录方式:

#redis登录--不需要密码的redis集群
redis-cli -h host -p 7001 -c


#redis登录--需要密码的redis集群
redis-cli -h host -p 7001 -c -a password

需要密码的redis集群连接登录方式:

#需要密码的redis集群--redis登录方式1
redis-cli -h host -p 7001 -c -a password


#需要密码的redis集群--redis登录方式2
[root@redis1 ~]# redis-cli -h 192.168.158.202 -p 7001 -c
192.168.158.202:7001> auth cBg756hQf35          # 进入redis命令行后 auth passowrd
OK
192.168.158.202:7001>

 

 

redis-3.2.10 集群,连接redis服务示例:

使用 redis1(192.168.158.201) 的 redis-cli 连接 redis2(192.168.158.202) 的 7003 节点:

(集群不带密码场景:)

/usr/local/redis-3.2.10/src/redis-cli -h 192.168.158.202 -p 7003 -c            # 加参数-c,代表集群 ,-c位置不做要求

/usr/local/bin/redis-cli -c -h 192.168.158.202 -p 7003                       # 加参数-c,代表集群,-c位置不做要求

 

 

补充1:

关闭某个节点服务的命令为:

以关闭 192.168.158.202 上 端口为7001、7002 的两个redis节点服务为例:

/usr/local/bin/redis-cli -c -h 192.168.158.202 -p 7001 shutdown
/usr/local/bin/redis-cli -c -h 192.168.158.202 -p 7002 shutdown


关闭后192.168.158.202 上还只剩1个 7003节点服务活者,如下图:

补充2:

启动/关闭集群节点服务,我们可以在每个服务器上写一个启动脚本 start-redis.sh 

#!/bin/bash
for ((i=1;i<=3;i++));
    do /usr/local/bin/redis-server /data/redis_data/700$i/redis.conf;
done
 
echo "========= 启动服务完毕! ==========="


如图:

关闭服务类似,我们同样可以写一个脚本 stop-redis.sh

#!/bin/bash
IP="192.168.158.202"
 
for ((i=1;i<=3;i++));
    do /usr/local/bin/redis-cli -c -h $IP -p 700$i shutdown;
done
 
echo "============ redis服务关闭完毕!================"


 

 

---------------------------------------------------------------------------------------------------------

redis-cli命令行操作:

1.设置值、查看值:

将RDS_ORDER_NO的Key值改成100000

登录后:
192.168.0.121:7000> set RDS_ORDER_NO 100000
OK
192.168.0.121:7000> get RDS_ORDER_NO
"100000"

eg:

登录集群  redis-cli -h 192.168.158.201 -p 7001 -c   

设置值,查看值

 

 

2.退出redis-cli 命令行:

exit 或 quit

eg:

3. 查看集群信息   cluster info

注意:如果redis集群没有密码,则省略 -a password, 如果redis集群有密码,则要加 -a password

方式1:

[root@redis1 ~]# redis-cli -h 192.168.158.202 -p 7001 -c -a cBg756hQf35 cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:7
cluster_my_epoch:7
cluster_stats_messages_sent:314724
cluster_stats_messages_received:314655
[root@redis1 ~]# 

方式2:

登录  redis-cli -h 192.168.158.201 -p 7001 -c
查看集群节点信息 进入redis-cli命令行  cluster info

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7001 -c
192.168.158.201:7001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_sent:2226
cluster_stats_messages_received:2226
192.168.158.201:7001> 

 

9个节点的:

[root@redis1 7001]# /usr/local/bin/redis-cli -h 192.168.158.203 -p 7001 -c -a cBg756hQf35 cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:9
cluster_size:3
cluster_current_epoch:439
cluster_my_epoch:439
cluster_stats_messages_sent:306617793
cluster_stats_messages_received:306611222
[root@redis1 7001]# 

4. 查看集群节点信息 cluster nodes

方式1:

[root@redis1 ~]# redis-cli -h 192.168.158.202 -p 7001 -c -a cBg756hQf35 cluster nodes
9e4ac4350b85148cedd53c51027db617d27d4fbc 192.168.158.202:7003 slave 5bab5278278cc9e5af5196fbe8ce33db53c3b9d0 0 1589638640615 6 connected
5cc81930eb00c813c92a0b1d6a91473da65fb85f 192.168.158.202:7001 myself,slave eefdc254fb3eda030452a87f5e3921934410717a 0 0 4 connected
05712dbd73f963f72eb976e95b559dba751215f6 192.168.158.202:7002 slave d49a289806b28dd69cd41c6a7af8615ef7254a44 0 1589638641627 5 connected
d49a289806b28dd69cd41c6a7af8615ef7254a44 192.168.158.201:7001 master - 0 1589638641123 1 connected 0-5460
eefdc254fb3eda030452a87f5e3921934410717a 192.168.158.201:7003 master - 0 1589638640616 7 connected 5461-10922
5bab5278278cc9e5af5196fbe8ce33db53c3b9d0 192.168.158.201:7002 master - 0 1589638642138 2 connected 10923-16383
[root@redis1 ~]# 

方式2:

登录集群  redis-cli -h 192.168.158.201 -p 7001 -c               # 如果redis有密码,后面再加个 -a password

列出集群节点 redis-cli命令行 cluster nodes

192.168.158.201:7001> cluster nodes
5bab5278278cc9e5af5196fbe8ce33db53c3b9d0 192.168.158.201:7002 master - 0 1585055135326 2 connected 10923-16383
5cc81930eb00c813c92a0b1d6a91473da65fb85f 192.168.158.202:7001 slave eefdc254fb3eda030452a87f5e3921934410717a 0 1585055136838 7 connected
d49a289806b28dd69cd41c6a7af8615ef7254a44 192.168.158.201:7001 myself,master - 0 0 1 connected 0-5460
eefdc254fb3eda030452a87f5e3921934410717a 192.168.158.201:7003 master - 0 1585055136838 7 connected 5461-10922
05712dbd73f963f72eb976e95b559dba751215f6 192.168.158.202:7002 slave d49a289806b28dd69cd41c6a7af8615ef7254a44 0 1585055136334 5 connected
9e4ac4350b85148cedd53c51027db617d27d4fbc 192.168.158.202:7003 slave 5bab5278278cc9e5af5196fbe8ce33db53c3b9d0 0 1585055135327 6 connected
192.168.158.201:7001> 

 

9个节点的:

[root@redis1 7001]# /usr/local/bin/redis-cli -h 192.168.158.203 -p 7001 -c -a cBg756hQf35 cluster nodes
05bc63e71120a6fba249de9d3d8cce6cd996a73b 192.168.158.203:7002 master - 0 1589640443039 436 connected 0-5460
41f0dfdb5a861e3d35e355a3e0d13207d178f0f5 192.168.158.201:7001 master - 0 1589640441536 438 connected 10923-16383
b304e26df5997abd66f0b9c49c97525205cdd2f0 192.168.158.202:7003 slave 41f0dfdb5a861e3d35e355a3e0d13207d178f0f5 0 1589640441536 438 connected
08c1ac78e5525fe7de0c6103655123ab9e9d9084 192.168.158.202:7001 slave 8e7a64afd4c9e22526a8b4017410e56c4e5ff3e5 0 1589640442036 439 connected
6878b02a55c03e5ee2866673470daf2851eed5ec 192.168.158.203:7001 myself,slave 8e7a64afd4c9e22526a8b4017410e56c4e5ff3e5 0 0 427 connected
b106d8be8c3708139a374e82e57f537670ffad94 192.168.158.202:7002 slave 05bc63e71120a6fba249de9d3d8cce6cd996a73b 0 1589640442538 436 connected
8e7a64afd4c9e22526a8b4017410e56c4e5ff3e5 192.168.158.201:7003 master - 0 1589640442538 439 connected 5461-10922
5b25441855efdaef88804159ba5eb50a1f1ffee3 192.168.158.203:7003 slave 41f0dfdb5a861e3d35e355a3e0d13207d178f0f5 0 1589640441536 438 connected
4ea1456fd702ac5309480c8f66666246519db12e 192.168.158.201:7002 slave 05bc63e71120a6fba249de9d3d8cce6cd996a73b 0 1589640442036 436 connected
[root@redis1 7001]#

5. 列出客户端 client list

[root@redis1 7001]# /usr/local/bin/redis-cli -h 192.168.158.202 -p 7001 -c -a asQet4w65Rd client list
id=62238263 addr=192.168.158.121:35369 fd=24 name= age=53 idle=23 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping
id=62238264 addr=192.168.158.121:35370 fd=26 name= age=53 idle=23 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping
id=62238376 addr=192.168.158.126:46971 fd=57 name= age=19 idle=19 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping
id=62238377 addr=192.168.158.126:46972 fd=119 name= age=19 idle=19 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=auth
id=62238265 addr=192.168.158.22:39153 fd=218 name= age=53 idle=23 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping
id=60044809 addr=192.168.158.126:37533 fd=274 name= age=710634 idle=710634 flags=r db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=readonly
id=60044810 addr=192.168.158.126:37534 fd=275 name= age=710634 idle=710634 flags=r db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=readonly
id=9036409 addr=192.168.158.201:7003 fd=112 name= age=26273162 idle=0 flags=M db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=del
id=62238401 addr=192.168.158.37:57703 fd=214 name= age=13 idle=13 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=auth
id=62238431 addr=192.168.158.201:49564 fd=220 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client

6. 查看某个节点当前的连接数 info clients

[root@redis1 ~]# /usr/local/bin/redis-cli -h 192.168.0.113 -p 7002 -a 4eRv8u4QaZf info clients
# Clients
connected_clients:4191
client_recent_max_input_buffer:32774
client_recent_max_output_buffer:786456
blocked_clients:0
[root@redis1 ~]# 

7. 查看某个节点内存信息  info memory

方式1:

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7003 -c -a cBg756hQf35 info memory
# Memory
used_memory:2418984
used_memory_human:2.31M
used_memory_rss:10125312
used_memory_rss_human:9.66M
used_memory_peak:2515144
used_memory_peak_human:2.40M
total_system_memory:1021906944
total_system_memory_human:974.57M
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:865075200
maxmemory_human:825.00M
maxmemory_policy:noeviction
mem_fragmentation_ratio:4.19
mem_allocator:jemalloc-4.0.3
[root@redis1 ~]#

方式2:

登录集群  redis-cli -h 192.168.158.201 -p 7001 -c

查看内存 进入redis-cli命令行 info memory

192.168.158.201:7001> info memory
# Memory
used_memory:2458760
used_memory_human:2.34M
used_memory_rss:10043392
used_memory_rss_human:9.58M
used_memory_peak:2521512
used_memory_peak_human:2.40M
total_system_memory:1021906944
total_system_memory_human:974.57M
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:865075200
maxmemory_human:825.00M
maxmemory_policy:noeviction
mem_fragmentation_ratio:4.08
mem_allocator:jemalloc-4.0.3
192.168.158.201:7001>

8.查看集群某个节点的信息 info      (相当于 info clients、info memory、info server等的汇总)

方式1:

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7003 -c -a cBg756hQf35 info
# Server
redis_version:3.2.10
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:fdba0b16b2c26f2d
redis_mode:cluster
os:Linux 3.10.0-862.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.5
process_id:7582
run_id:577ff02d00b1e8e624a6d08152dbacb3bf7da5d3
tcp_port:7003
uptime_in_seconds:6643560
uptime_in_days:76
hz:10
lru_clock:12665017
executable:/usr/local/bin/redis-server
config_file:/data/redis_data/7003/redis.conf

# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:2419960
used_memory_human:2.31M
used_memory_rss:10125312
used_memory_rss_human:9.66M
used_memory_peak:2515144
used_memory_peak_human:2.40M
total_system_memory:1021906944
total_system_memory_human:974.57M
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:865075200
maxmemory_human:825.00M
maxmemory_policy:noeviction
mem_fragmentation_ratio:4.18
mem_allocator:jemalloc-4.0.3

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1589636534
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
aof_enabled:1
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:0
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_current_size:61
aof_base_size:0
aof_pending_rewrite:0
aof_buffer_length:0
aof_rewrite_buffer_length:0
aof_pending_bio_fsync:0
aof_delayed_fsync:0

# Stats
total_connections_received:164
total_commands_processed:76607
instantaneous_ops_per_sec:1
total_net_input_bytes:2908462
total_net_output_bytes:269779
instantaneous_input_kbps:0.05
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:5
sync_partial_ok:6
sync_partial_err:3
expired_keys:0
evicted_keys:0
keyspace_hits:204
keyspace_misses:1
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:117849
migrate_cached_sockets:0

# Replication
role:master
connected_slaves:1
slave0:ip=192.168.158.202,port=7001,state=online,offset=110898,lag=0
master_repl_offset:110898
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:102261
repl_backlog_histlen:8638

# CPU
used_cpu_sys:235.73
used_cpu_user:37.95
used_cpu_sys_children:0.39
used_cpu_user_children:0.01

# Cluster
cluster_enabled:1

# Keyspace
db0:keys=1,expires=0,avg_ttl=0
[root@redis1 ~]#

方式2:

查看 192.168.158.201:7001 节点的信息

redis-cli -h 192.168.158.201 -p 7001 -c

192.168.158.201:7001> info
# Server
redis_version:3.2.10
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:fdba0b16b2c26f2d
redis_mode:cluster
os:Linux 3.10.0-862.el7.x86_64 x86_64
...
...
...

 

扩展:

info keyspace     数据库、key相关统计

eg:

--stat选项可以实时获取Redis的重要统计信息,虽然info命令中的统计信息更全,但是能实时看到一些增量的数据。

9. 测试redis某个连接是否处于活动状态(某个节点是否down掉) ping

如果返回PONG,说明该节点没有挂

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7002 -c -a cBg756hQf35 ping
PONG
[root@redis1 ~]#

eg:

10. 列出集群某个节点下所有key

查看集群某个节点下所有的key (某个节点和其对应的主节点或从节点显示的keys是一致的)

方式1:

[root@redis1 ~]# redis-cli -h 192.168.158.202 -p 7001 -c -a cBg756hQf35 keys '*'
1) "user1"
[root@redis1 ~]# redis-cli -h 192.168.158.202 -p 7001 -c -a cBg756hQf35 keys "*"
1) "user1"
[root@redis1 ~]#

方式2:

11. 查询某个节点redis允许的最大连接数 config get maxclients

方式1:

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7002 -c -a cBg756hQf35 config get maxclients
1) "maxclients"
2) "10000"
[root@redis1 ~]#

方式2:

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7002 -c -a cBg756hQf35
192.168.158.201:7002> config get maxclients
1) "maxclients"
2) "10000"
192.168.158.201:7002> config get port
1) "port"
2) "7002"
192.168.158.201:7002> config get daemonize
1) "daemonize"
2) "yes" 
192.168.158.201:7002> config get requirepass
1) "requirepass"
2) "cBg756hQf35"
192.168.158.201:7002> exit
[root@redis1 ~]# 

12. 慢查询条数  slowlog len

方式1:

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7002 -c -a cBg756hQf35 slowlog len
(integer) 3
[root@redis1 ~]#

方式2:

先登录进入redis命令行,然后

192.168.0.30:7001> slowlog len
(integer) 128
192.168.0.30:7001>

13.获取慢查询日志,可选n条  slowlog get n

方式1:

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7002 -c -a cBg756hQf35 slowlog get 3
1) 1) (integer) 2
   2) (integer) 1589636534
   3) (integer) 420847
   4) 1) "PSYNC"
      2) "8be64527bf26dfc0b981d11e6cef526adeb3a768"
      3) "99997"
2) 1) (integer) 1
   2) (integer) 1585052762
   3) (integer) 2088620
   4) 1) "PSYNC"
      2) "8be64527bf26dfc0b981d11e6cef526adeb3a768"
      3) "73955"
3) 1) (integer) 0
   2) (integer) 1583390948
   3) (integer) 189352
   4) 1) "PSYNC"
      2) "8be64527bf26dfc0b981d11e6cef526adeb3a768"
      3) "64014"
[root@redis1 ~]#

方式2:

先登录进入redis命令行,然后

192.168.0.30:7001> slowlog get 20
 1) 1) (integer) 5369
    2) (integer) 1587548400
    3) (integer) 12397
    4) 1) "SETEX"
       2) "REQUEST_LIMIT:BD57B517618B4A169E36E22943991B61"
       3) "5"
       4) "\"1\""
 2) 1) (integer) 5368
    2) (integer) 1582883674
    3) (integer) 12930
    4) 1) "SETEX"
       2) "REQUEST_LIMIT:FE7FBB30C0EF01C5EDF797261C807020"
       3) "5"
       4) "\"1\""
 3) 1) (integer) 5367
    2) (integer) 1582883614
    3) (integer) 10037
    4) 1) "SETEX"
       2) "REQUEST_LIMIT:A708BDFDD89B03E9E8AFA6F25C1BBFB3"
       3) "5"
       4) "\"1\""
 4) 1) (integer) 5366
    2) (integer) 1582862540
    3) (integer) 10600
    4) 1) "SETEX"
       2) "REQUEST_LIMIT:115F5666176B8152D363C1DB82C36299"
       3) "5"
       4) "\"1\""
 5) 1) (integer) 5365
    2) (integer) 1582430584
    3) (integer) 18484
    4) 1) "DEL"
       2) "REQUEST_LIMIT:14AA2C3B738AC2811C97F4360043BA3D"
 6) 1) (integer) 5364
    2) (integer) 1582430299
    3) (integer) 11509
    4) 1) "SETEX"
       2) "REQUEST_LIMIT:EEB630A7626FB3C7672B0D6792BB6E89"
       3) "5"
       4) "\"1\""
...
...

 

14. redis所有配置信息查询

方式1:

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7002 -c -a cBg756hQf35 config get '*'
  1) "dbfilename"
  2) "dump.rdb"
  3) "requirepass"
  4) "cBg756hQf35"
  5) "masterauth"
  6) "cBg756hQf35"
  7) "unixsocket"
  8) ""
  9) "logfile"
 10) "/data/redis_data/7002/redis.log"
 11) "pidfile"
 12) "/var/run/redis_7002.pid"
 13) "slave-announce-ip"
 14) ""
 15) "maxmemory"
 16) "865075200"
 17) "maxmemory-samples"
 18) "5"
 19) "timeout"
 20) "0"
 21) "auto-aof-rewrite-percentage"
 22) "100"
 23) "auto-aof-rewrite-min-size"
 24) "67108864"
 25) "hash-max-ziplist-entries"
 26) "512"
 27) "hash-max-ziplist-value"
 28) "64"
 29) "list-max-ziplist-size"
 30) "-2"
 31) "list-compress-depth"
 32) "0"
 33) "set-max-intset-entries"
 34) "512"
 35) "zset-max-ziplist-entries"
 36) "128"
 37) "zset-max-ziplist-value"
 38) "64"
 39) "hll-sparse-max-bytes"
 40) "3000"
 41) "lua-time-limit"
 42) "5000"
 43) "slowlog-log-slower-than"
 44) "10000"
 45) "latency-monitor-threshold"
 46) "0"
 47) "slowlog-max-len"
 48) "128"
 49) "port"
 50) "7002"
 51) "tcp-backlog"
 52) "511"
 53) "databases"
 54) "16"
 55) "repl-ping-slave-period"
 56) "10"
 57) "repl-timeout"
 58) "60"
 59) "repl-backlog-size"
 60) "1048576"
 61) "repl-backlog-ttl"
 62) "3600"
 63) "maxclients"
 64) "10000"
 65) "watchdog-period"
 66) "0"
 67) "slave-priority"
 68) "100"
 69) "slave-announce-port"
 70) "0"
 71) "min-slaves-to-write"
 72) "0"
 73) "min-slaves-max-lag"
 74) "10"
 75) "hz"
 76) "10"
 77) "cluster-node-timeout"
 78) "5000"
 79) "cluster-migration-barrier"
 80) "1"
 81) "cluster-slave-validity-factor"
 82) "10"
 83) "repl-diskless-sync-delay"
 84) "5"
 85) "tcp-keepalive"
 86) "300"
 87) "cluster-require-full-coverage"
 88) "yes"
 89) "no-appendfsync-on-rewrite"
 90) "no"
 91) "slave-serve-stale-data"
 92) "yes"
 93) "slave-read-only"
 94) "yes"
 95) "stop-writes-on-bgsave-error"
 96) "yes"
 97) "daemonize"
 98) "yes"
 99) "rdbcompression"
100) "yes"
101) "rdbchecksum"
102) "yes"
103) "activerehashing"
104) "yes"
105) "protected-mode"
106) "yes"
107) "repl-disable-tcp-nodelay"
108) "no"
109) "repl-diskless-sync"
110) "no"
111) "aof-rewrite-incremental-fsync"
112) "yes"
113) "aof-load-truncated"
114) "yes"
115) "maxmemory-policy"
116) "noeviction"
117) "loglevel"
118) "notice"
119) "supervised"
120) "no"
121) "appendfsync"
122) "everysec"
123) "syslog-facility"
124) "local0"
125) "appendonly"
126) "yes"
127) "dir"
128) "/data/redis_data/7002"
129) "save"
130) "900 1 300 10 60 10000"
131) "client-output-buffer-limit"
132) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
133) "unixsocketperm"
134) "0"
135) "slaveof"
136) ""
137) "notify-keyspace-events"
138) ""
139) "bind"
140) "192.168.158.201"
[root@redis1 ~]#

 

方式2:

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7002 -c -a cBg756hQf35
192.168.158.201:7002> config get *
  1) "dbfilename"
  2) "dump.rdb"
  3) "requirepass"
  4) "cBg756hQf35"
  5) "masterauth"
  6) "cBg756hQf35"
  7) "unixsocket"
  8) ""
  9) "logfile"
 10) "/data/redis_data/7002/redis.log"
 11) "pidfile"
 12) "/var/run/redis_7002.pid"
 13) "slave-announce-ip"
 14) ""
 15) "maxmemory"
 16) "865075200"
 17) "maxmemory-samples"
 18) "5"
 19) "timeout"
 20) "0"
...
...

15. 定位耗时操作 info commandstats

由于redis没有非常详细的日志,要想知道在redis实例内部都做了些什么是非常困难的。幸运的是redis提供了一个命令统计工具info commandstats

通过这个命令统计工具可以查看所有命令统计的快照,比如命令执行了多少次,执行命令所耗费的毫秒数(每个命令的总时间和平均时间)

[root@redis1 ~]# redis-cli -h 192.168.158.201 -p 7002 -c -a cBg756hQf35 info commandstats
# Commandstats
cmdstat_get:calls=115,usec=356,usec_per_call=3.10
cmdstat_set:calls=4,usec=288,usec_per_call=72.00
cmdstat_select:calls=4,usec=10,usec_per_call=2.50
cmdstat_keys:calls=4,usec=44,usec_per_call=11.00
cmdstat_scan:calls=18,usec=141,usec_per_call=7.83
cmdstat_dbsize:calls=18,usec=15,usec_per_call=0.83
cmdstat_auth:calls=67,usec=218,usec_per_call=3.25
cmdstat_ping:calls=19,usec=30,usec_per_call=1.58
cmdstat_type:calls=58,usec=162,usec_per_call=2.79
cmdstat_psync:calls=12,usec=2707584,usec_per_call=225632.00
cmdstat_replconf:calls=82457,usec=250240,usec_per_call=3.03
cmdstat_info:calls=25,usec=2903,usec_per_call=116.12
cmdstat_ttl:calls=21,usec=39,usec_per_call=1.86
cmdstat_pttl:calls=37,usec=44,usec_per_call=1.19
cmdstat_config:calls=13,usec=1809,usec_per_call=139.15
cmdstat_cluster:calls=19,usec=5153,usec_per_call=271.21
cmdstat_object:calls=111,usec=205,usec_per_call=1.85
cmdstat_client:calls=1,usec=159,usec_per_call=159.00
cmdstat_slowlog:calls=6,usec=198,usec_per_call=33.00
cmdstat_command:calls=7,usec=10393,usec_per_call=1484.71
[root@redis1 ~]#

16. redis自身性能压测

redis 自带了一个叫做 redis-benchmark 的工具来模拟N个客户端同时发出M个请求。(类似于Apache ab 程序)。

命令:

redis-benchmark -h 192.168.158.201 -p 7002 -c 20000 -n 50000

不需要输入密码。

参数详解:

-h 表示IP
-p 表示端口

-c 表示连接数, 或者说 多少个并发客户端

-n 表示请求数

-t 后面跟请求方式,如get

eg:

eg:

milliseconds   毫秒

parallel   并行

 

注意:如果只想看到最总的结果,可以带上参数-q

eg:

-q    Quiet. Just show query/sec values。

 

查看redis-benchmark 工具用法和基准参数:

redis-benchmark -h

-----------------------------

 

参考链接:

redis的使用,以及耗时定位 https://www.jianshu.com/p/34eb9854a715

Redis系列之(一)——开发基础 https://www.jianshu.com/p/7b5a82d9cceb

redis压力测试工具----redis-benchmark https://www.cnblogs.com/lxs1314/p/8399069.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wudinaniya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值