Redis常用命令
除了 数据结构 的命令,redis还有其他的命令,包括配置修改、连接类、脚本执行、信息检索、以及事物类。
Redis简单命令
ping
Redis 可以在客户端后边直接执行命令。
ping
无实际意义,就是网络连通测试,客户端连通提示返回PONG,失败则“Could not connect to Redis at 127.0.0.1:6379:Connection refused”提示无法连接
[root@Redis ~]# /soft/redis/bin/redis-cli -h 127.0.0.1 -p 6379 ping #验证客户端连通性
PONG
[root@Redis ~]# /soft/redis/bin/redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> ping #Redis ping 命令验证客户端连通性
PONG
config set requirepass(config set 可以临时更改所有的配置信息,具体后面会讲到)
设置Redis密码。使用
config set requirepass
设置了临时密码(重启Redis失效)或者直接通过配置文件中requirepass
设置了永久密码(重启Redis生效)
## 设置l临时密码为123456。
127.0.0.1:6379> config set requirepass 123456
OK
127.0.0.1:6379> quit
[root@Redis ~]# /soft/redis/bin/redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> ping ## 未输入密码,禁止使用
(error) NOAUTH Authentication required.
## auth 输入正确密码后可使用数据库
127.0.0.1:6379> auth 123456
OK
## 设置密码为空等于清空密码
127.0.0.1:6379> config set requirepass ""
OK
auth
解锁Redis密码。当Redis设置密码的时候,需要通过
auth
这个命令来解锁,或者连接时候使用 -a 参数
## 连接Redis直接用 -a 来指定密码
[root@Redis ~]# /soft/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a 123456
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> quit
[root@Redis ~]# /soft/redis/bin/redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> ping ## 未输入密码,禁止使用
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth djklsf ## 若密码输入错误,提示无效密码
(error) ERR invalid password
127.0.0.1:6379> auth 123456 ## auth 输入正确密码后可使用数据库
OK
echo
验证输出,和Linux中shell的echo类似。
127.0.0.1:6379> echo "hello world"
"hello world"
select
进入相应的数据库(实例)中。和关系型数据库一样,Redis也有很多数据库,不同的是Redis实例不需要创建,是以数字表示。连接Redis默认实例为0
127.0.0.1:6379> set name dasha
OK
127.0.0.1:6379> get name
"dasha"
## 切换到数据库(实例)1中
127.0.0.1:6379> select 1
OK
## 查看所有key(实际生产中不建议使用这个命令,因为生产环境数据多,使用这命令会拖慢线程)
127.0.0.1:6379[1]> keys *
(empty list or set) ## 没有key
127.0.0.1:6379[1]> set name ersha
OK
127.0.0.1:6379[1]> get name
"ersha"
## 切换到数据库(实例)2中
127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]> keys *
(empty list or set)
## 切回1数据库,可以看到刚才设置的key
127.0.0.1:6379[2]> select 1
OK
127.0.0.1:6379[1]> keys *
1) "name"
client list
查看当前连接的客户端
127.0.0.1:6379> client list
id=12 addr=127.0.0.1:59606 fd=6 name= age=40 idle=29 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=client
id=13 addr=127.0.0.1:59608 fd=7 name= age=11 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
client kill
杀掉某个连接。可以用 id 或者 addr 指定杀掉那个连接
127.0.0.1:6379> client kill id 12
(integer) 1
127.0.0.1:6379> client kill addr 127.0.0.1:59608
(integer) 1
flushdb
删除当前数据库(实例)内所有数据(慎用)
flushall
删除所有数据库(实例)内所有数据(更加慎用)
shutdown
断开所有连接,保存所有数据,停止服务(慎用)
查看Redis信息
info
我们可以通过 info 命令查看我们
Redis
的全部信息。也可以后面加上下面内容查看指定的信息:
- Server:服务器信息
- Clients:客户端信息
- Memory:内存信息
- Persistence:持久化日志信息
- Stats:统计信息
- Replication:主从复制信息
- CPU:CPU信息
- Cluster:Redis集群信息
- Keyspace:数据统计信息
config get
查看数据库配置信息。可以用
config get *
则是显示全部配置,也可以用config get [key]
则输出value信息 (显示信息太多就不展示了,其中单数为key,双数为value)
Redis配置命令
在Redis中,需要临时修改配置的时候,我们可以用
config set [key] [新value]
命令来实现。比如config set maxmemory 1024
。临时修改配置,重启后失效,想要永久可以使用config set rewrite
把临时配置写到配置文件中。
可以根据上面的config get
命令查看配置信息,用这个临时修改
127.0.0.1:6379> config get slowlog-max-len
1) "slowlog-max-len"
2) "1024"
127.0.0.1:6379> config set slowlog-max-len 10086
OK
127.0.0.1:6379> config get slowlog-max-len
1) "slowlog-max-len"
2) "10086"
127.0.0.1:6379> config set rewrite
OK