(一)Redis常用操作命令

189 篇文章 8 订阅

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)禁用命令

1
2
3
4
rename-command KEYS     ""
rename-command FLUSHALL ""
rename-command FLUSHDB  ""
rename-command CONFIG   ""

2)重命名命令

1
2
3
4
rename-command KEYS     "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
rename-command FLUSHALL "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
rename-command FLUSHDB  "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
rename-command CONFIG   "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

上面的 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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值