Redis学习笔记-常用命令篇(Centos7)

  redis提供了丰富的命令,这些命令可以在linux终端使用。在各类语言中,这些命令都有对应的方法。

一、键值相关

1、keys

  返回满足给定pattern的所有key

127.0.0.1:6379> keys *
1) "key1"
2) "num"
3) "list"
4) "qq"
5) "key2"
6) "key3"
7) "hashkey"
8) "setkey"
9) "listkey2"
10) "num2"
11) "num1"
12) "listkey"
13) "listkey1"
14) "key5"
15) "test"
16) "name"
17) "zsetkey"
18) "setkey-1"
19) "setkey-2"
20) "num3"
21) "key4"
22) "num4"
127.0.0.1:6379> keys num*
1) "num"
2) "num2"
3) "num1"
4) "num3"
5) "num4"

2、exists

  确认key是否存在

127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists key
(integer) 0

3、del

  删除一个key

127.0.0.1:6379> exists qq
(integer) 1
127.0.0.1:6379> del qq
(integer) 1
127.0.0.1:6379> exists qq
(integer) 0

4、expire

  设置一个key的过期时间(单位为秒)

127.0.0.1:6379> ttl name
(integer) -1
127.0.0.1:6379> expire name 10
(integer) 1
127.0.0.1:6379> ttl name
(integer) 8
127.0.0.1:6379> ttl name
(integer) 5
127.0.0.1:6379> ttl name
(integer) 0
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> get name
(nil)

5、move

  将当前数据库中的key转移到其它数据库中

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get test
(nil)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> get test
"redis test"
127.0.0.1:6379> move test 1
(integer) 1
127.0.0.1:6379> get test
(nil)
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get test
"redis test"

6、persist

  移除给定key的过期时间

127.0.0.1:6379> ttl list
(integer) -1
127.0.0.1:6379> expire list 300
(integer) 1
127.0.0.1:6379> ttl list
(integer) 296
127.0.0.1:6379> persist list
(integer) 1
127.0.0.1:6379> ttl list
(integer) -1

7、randomkey

  随机返回一个key

127.0.0.1:6379> randomkey
"num"
127.0.0.1:6379> randomkey
"key5"
127.0.0.1:6379> randomkey
"num3"

8、rename/renamenx

  重命名key

127.0.0.1:6379> rename list list-new
OK
127.0.0.1:6379> exists list
(integer) 0
127.0.0.1:6379> exists list-new
(integer) 1
127.0.0.1:6379> keys list*
1) "listkey2"
2) "list-new"
3) "listkey"
4) "listkey1"
127.0.0.1:6379> rename listkey listkey1
OK
127.0.0.1:6379> exists listkey
(integer) 0
127.0.0.1:6379> exists listkey1
(integer) 1
127.0.0.1:6379> renamenx listkey1 listkey2
(integer) 0
127.0.0.1:6379> renamenx listkey1 listkey3
(integer) 1

9、type

  返回值的类型

127.0.0.1:6379> type num
string
127.0.0.1:6379> type list-new
list
127.0.0.1:6379> type hashkey
hash
127.0.0.1:6379> type setkey
set
127.0.0.1:6379> type zsetkey
zset

二、服务器相关

1、ping

  测试是否正常连接

127.0.0.1:6379> ping
PONG
127.0.0.1:6379> ping aaa
"aaa"
# 关闭redis服务器
127.0.0.1:6379> shutdown
Could not connect to Redis at 127.0.0.1:6379: Connection refused
# 开启服务器
not connected> ping aaa
"aaa"
127.0.0.1:6379> ping
PONG

2、echo

  打印内容

127.0.0.1:6379> echo message
"message"
127.0.0.1:6379> echo ping
"ping"

3、select

  选择数据库,redis数据库编号范围是0~15,默认登录0

127.0.0.1:6379> select  1
OK
127.0.0.1:6379[1]> select 15
OK
127.0.0.1:6379[15]> select 16
(error) ERR invalid DB index
127.0.0.1:6379[15]> select 0
OK

4、quie/exit

  退出连接。

[root@localhost ~]# redis-cli
127.0.0.1:6379> quit
[root@localhost ~]#
[root@localhost ~]# redis-cli
127.0.0.1:6379> exit
[root@localhost ~]#

5、dbsize

  返回当前数据库中key的数量

127.0.0.1:6379> dbsize
(integer) 18

6、info

  获取服务器的信息和统计

127.0.0.1:6379> info
# Server
redis_version:3.2.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:75f5eeeebaabc5a4
redis_mode:standalone
os:Linux 3.10.0-229.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
...
...
...
...
127.0.0.1:6379>

7、monitor

  实时显示收到的请求

127.0.0.1:6379> monitor
OK
# 有客户端进行连接
1481013661.020891 [0 127.0.0.1:52881] "COMMAND"
# 客户端执行的命令
1481013672.994979 [0 127.0.0.1:52881] "keys" "*"
1481013695.957605 [0 127.0.0.1:52881] "get" "name"
1481013704.682609 [0 127.0.0.1:52881] "set" "name" "linux"

8、config get

  获取服务器配置信息。

127.0.0.1:6379> config get dir
1) "dir"
2) "/usr/local/redis/6379"

9、flushdb

  删除当前数据库中所有的key

127.0.0.1:6379> dbsize
(integer) 19
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> dbsize
(integer) 0

10、flushall

  删除所有数据库中的所有key

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 1
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 4
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 0

三、安全相关

  因为各种安全的原因,我们可能想要对数据库设置密码。

  修改配置文为以下的语句:

requirepass foobared

  使用系统默认的密码“foobared”。注意:因为redis数据库速度相当快,可以做到1秒150K次的密码尝试,所以实际使用时需要设置足够强大的密码。

  重新启动数据库。然后再用数据库连接操作时,就会发生下面的情况:

127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.

  如果想要操作需要输入口令

127.0.0.1:6379> auth foobared
OK
127.0.0.1:6379> keys *
1) "name"

  我们还可以在连接服务器的时候就指定口令:

[root@localh ~]# redis-cli -a foobared
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379>
上一篇:Linux基础之常用命令篇


下一篇:ReactiveX 学习笔记(9)工具类操作符