redis-cli是Redis命令行界面,可以向Redis发送命令,并直接从终端读取服务器发送的回复。
它有两种主要模式:一种交互模式,其中有一个REPL(read eval print loop),用户输入命令并获取回复; 另一种模式(非REPL)是将命令作为参数发送redis-cli
,执行并打印在标准输出中。 我们一般都是使用REPL模式。
如下 就是REPL模式
127.0.0.1:6379> set name jack OK 127.0.0.1:6379> get name "jack"
下面这个是非REPL模式
[root@localhost ~]# redis-cli -h 127.0.0.1 -p 6379 -a 123456 set name lucy -a 输入密码 OK [root@localhost ~]# redis-cli -h 127.0.0.1 -p 6379 -a 123456 get name "lucy"
1.连接到服务器
[root@localhost ~]# redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> auth 123456 OK 127.0.0.1:6379>
查看redis信息
127.0.0.1:6379> info
这个命令返回关于使用情况
主要字段信息下面几个
redis_version : redis服务器版本
process_id : 服务器进程的 PID
tcp_port: TCP/IP 监听端口
config_file: /usr/local/redis/redis.conf 配置文件路径
connected_clients:已连接客户端的数量
blocked_clients:正在等待阻塞命令
used_memory:redis分配器分配的内存总量
aof_enabled :AOF文件是否启用
total_connections_received : 运行以来连接过的客户端的总数量
total_commands_processed :运行以来执行过的命令的总数量
keyspace_hits : 命中key 的次数 这两个参数我觉得比较重要
keyspace_misses : 没命中key 的次数 这两个参数我觉得比较重要
role:master : 当前实例的角色master还是slave
有时候返回数据比较 只想查看某块的内容 比如查看cup的信息
127.0.0.1:6379> info CPU # CPU used_cpu_sys:33.53 used_cpu_user:13.33 used_cpu_sys_children:0.30 used_cpu_user_children:0.00
2.redis配置
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。可以通过上面info命令可以查看到 redis.conf路径。
redis提供了 CONFIG 命令查看或设置配置项
127.0.0.1:6379> CONFIG SET requirepass 111111 OK
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "111111"
不过这个命令不会真正改变redis.conf里的配置信息。因为 config set 命令可以对服务器的当前配置进行修改, 而修改后的配置可能和 redis.conf
文件中所描述的配置不一样,使用config rewrite可以将数据同步到配置文件中。
127.0.0.1:6379> CONFIG REWRITE OK
config rewrite的作用就是通过尽可能少的修改, 将服务器当前所使用的配置记录到 redis.conf
文件中。具体可以查看官网http://redisdoc.com/server/config_rewrite.html
对于使用config set 有点需要注意的是,当redis在运行的时候,有些值是不能修改的,比如databases,port,会出现下面错误提示
127.0.0.1:6379> config set port 6389 (error) ERR Unsupported CONFIG parameter: port 127.0.0.1:6379> CONFIG SET databases 17 (error) ERR Unsupported CONFIG parameter: databases
因为数据库的创建是在服务器启动时候读取配置创建,数量必须在启动服务器时指定,还有端口号也是,所有在服务器运行的过程中,尝试使用CONFIG SET去修改数据库的数量是不可行的。
config get * 可以获取所有配置信息
127.0.0.1:6379> CONFIG GET * 1) "dbfilename" 2) "dump.rdb" 3) "requirepass" 4) "123456" 5) "masterauth" 6) "" 7) "unixsocket" 8) "" 9) "logfile" 10) "" 11) "pidfile" 12) "/var/run/redis.pid" 13) "maxmemory" 14) "0" 15) "maxmemory-samples" 16) "5" 17) "timeout" 18) "0" 19) "tcp-keepalive"
..........
3.从文件中导入命令
编辑redis.txt,所有的命令都被一个接一个的执行
[root@localhost tmp]# vim redis.txt [root@localhost tmp]# cat redis.txt set username cherry set sex man [root@localhost tmp]# redis-cli -h 127.0.0.1 -p 6379 -a 123456 < /root/tmp/redis.txt OK OK
4.运行相同的命令N次
127.0.0.1:6379> get counter (nil) 127.0.0.1:6379> 10 incr counter (integer) 1 (integer) 2 (integer) 3 (integer) 4 (integer) 5 (integer) 6 (integer) 7 (integer) 8 (integer) 9 (integer) 10
5.判断客户端和服务器连接是否正常
127.0.0.1:6379> ping PONG
6.列出所有客户端连接
127.0.0.1:6379> CLIENT LIST id=240008 addr=192.168.90.66:48113 fd=6 name= age=6412669 idle=6412669 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=get id=1175856 addr=127.0.0.1:34238 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
7.删除某个键
127.0.0.1:6379> del Kyhome_feed_data_290
(integer) 1
127.0.0.1:6379> get Kyhome_feed_data_290
(nil)
8.批量删除多个键
[root@spark78-245 new_src]# redis-cli keys Kyhome_feed_data_*
1) "Kyhome_feed_data_546"
2) "Kyhome_feed_data_725"
3) "Kyhome_feed_data_303"
4) "Kyhome_feed_data_678"
5) "Kyhome_feed_data_545"
6) "Kyhome_feed_data_1040"
7) "Kyhome_feed_data_549"
8) "Kyhome_feed_data_544"
9) "Kyhome_feed_data_775"
10) "Kyhome_feed_data_389"
查询上面有这些键,然后退出当前redis环境在执行下面命令删除
[root@spark78-245 new_src]# redis-cli keys Kyhome_feed_data_* | xargs redis-cli del
(integer) 155
[root@spark78-245 new_src]# redis-cli keys Kyhome_feed_data_*
(empty list or set)
9.创建当前数据库的备份
redis 127.0.0.1:6379> CONFIG GET dir 先查看下redis目录 1) "dir" 2) "/usr/local/redis/rdb_dir" 在查看目录中已经存在dump.rdb文件 并删除 [root@localhost ~]# ls /usr/local/redis/rdb_dir dump.rdb [root@localhost ~]# rm -f /usr/local/redis/rdb_dir/dump.rdb 执行save命令 redis 127.0.0.1:6379> save save命令将在redis安装目录中创建dump.rdb文件 OK 执行后查看 目录中多了dump.rdb文件 [root@localhost ~]# ls -l /usr/local/redis/rdb_dir 总用量 40 -rw-r--r-- 1 root root 40103 6月 13 11:55 dump.rdb
更多的命令使用可以查看这个地址http://doc.redisfans.com/