0.1查看redis服务器状态:info
127.0.0.1:20086> info
# Server
redis_version:3.0.0 #版本号
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:e7768317ba5bdca5
redis_mode:sentinel #开启模式
os:Linux 3.16.0-71-generic x86_64 #系统位数
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.2
process_id:2767 #线程ID
run_id:319d8c58b9bf26c26ca040b53bdc0764a543648b
tcp_port:20086 #端口
uptime_in_seconds:923 #允许时间
uptime_in_days:0
hz:11
lru_clock:6041117
config_file:/etc/redis/sentinel_20086.conf #配置文件
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
master0:name=T1,status=ok,address=127.0.0.1:10087,slaves=2,sentinels=3 #主name,主ip,多少个slave,多少个sentinel
0.1.1.显示所有被监视的redis的master的状态:sentinel masters
127.0.0.1:20086> SENTINEL masters
1) 1) "name" #master name
2) "T1"
3) "ip" #master ip
4) "127.0.0.1"
5) "port" #master port
6) "10087"
7) "runid"
8) "508e7de9f5aa4fdb70126d62a54392fbefc0b11b"
9) "flags"
10) "master"
11) "pending-commands"
12) "0"
13) "last-ping-sent"
14) "0"
15) "last-ok-ping-reply"
16) "261"
17) "last-ping-reply"
18) "261"
19) "down-after-milliseconds" #ping的响应时间
20) "15000"
21) "info-refresh"
22) "620"
23) "role-reported"
24) "master"
25) "role-reported-time"
26) "1205058"
27) "config-epoch" #配置文件版本号
28) "2"
29) "num-slaves" #从的数量
30) "2"
31) "num-other-sentinels" #除本身外还有多少个sentinel
32) "2"
33) "quorum" #投票数量
34) "2"
35) "failover-timeout" #failover超时时间
36) "120000"
37) "parallel-syncs" #多少个从同步
38) "1"
0.1.2.显示所有被监视的redis的master的slave的状态:sentinel slaves [master_name]
127.0.0.1:20086> sentinel slaves T1
0.1.4.慢查询
和mysql的慢日志分析一样,用来分析redis中一些慢查询操作,slowlog存储在内存中,你可以放心地使用它,不必担心因为开启slow log而损害Redis的速度。,只指一个查询操作的时间,不包括客户端连接、请求、响应的时间
两个参数:
1、slowlog-log-slower-than:预设阀值,即记录超过多少时间的记录,默认为10000微秒,即10毫秒。
2、slowlog-max-len:记录慢查询的条数,默认为128条,当超过设置的条数时最早进入队列的将被移除。线上建议增大数值,如:1000,这样可减少队列移除的频率。
127.0.0.1:6379> config get slowlog-log-slower-than
1) "slowlog-log-slower-than"
2) "10000"
127.0.0.1:6379> config get slowlog-max-len
1) "slowlog-max-len"
2) "128"
慢查询命令:
192.168.10.38:9001> slowlog get
(empty list or set)
192.168.10.38:9001> slowlog get 10
(empty list or set)
192.168.10.38:9001> slowlog len
(integer) 0
192.168.10.38:9001> slowlog reset
OK
0.2.查看连接到服务器的客户端列表:client list
0.3.获取redis的命令数组:command
0.4帮助命令:help [command]
0.5.实时打印出redis服务器接收到的命令,调试用:monitor
1、启动Redis
>./ redis-server [--port 6379]
>./ redis-server [xx/xx/redis.conf]
如果命令参数过多,建议通过配置文件来启动Redis,6379是Redis默认端口号。
2.连接redis
> ./redis-cli [-h 127.0.0.1 -p 6379]
如果设置了密码
$ ./redis-cli -p 9001 -a 123456
或者
auth 123456
3.停止redis
>./redis-cli shutdown
4.测试联通属性
> ping
PONG
5.慎用命令合集
获取所有键
keys *
线上环境慎用,数量少可以,多的话会导致redis锁住和cpu飙升
flushdb:删除redis当前库的所有数据
flushall:删除redis所有库的数据
save #立即保存数据到硬盘
bgsave #异步保存数据到硬盘
可以在redis.conf中添加 rename-command
配置即可达到安全目的。
1)禁用命令
| |
2)重命名命令
| |
上面的 XX 可以定义新命令名称,或者用随机字符代替。
6.获取键总数dbsize,获取键总数时不会遍历所有的键,直接获取内部变量,时间复杂度O(1)。
7.查询键是否存在exists key [key …],返回存在的个数
8.删除键del key [key …],返回删除的个数
9.查询键的类型type key
10.移动键move key db
11.查询key的生命周期:秒语法:ttl key,-1:永远不过期。
12.设置过期时间:秒语法:expire key seconds
13.更改键名称rename key newkey
14.获取值的长度strlen key
15.追加内容append key value
16.集合获取所有元素smembers key
17.获取集合元素个数scard key
18.获取list元素个数llen key
19.hash获取所有键和值hgetall key
20.hash获取字段数量hlen key