1 Redis常用命令

序号

命令及操作

1

del key 该命令用于在 key 存在是删除 key

2

DUMP key 序列化给定 key ,并返回被序列化的值

3

EXISTS key 检查给定 key 是否存在

4

EXPIRE key seconds 为给定 key 设置过期时间

5

EXPIREAT key timestamp EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)

6

PEXPIRE key milliseconds 设置 key 的过期时间亿以毫秒计

7

PEXPIREAT key milliseconds-timestamp 设置 key 过期时间的时间戳(unix timestamp) 以毫秒计

8

KEYS pattern 查找所有符合给定模式( pattern)的 key

9

MOVE key db 将当前数据库的 key 移动到给定的数据库 db 当中

10

PERSIST key 移除 key 的过期时间,key 将持久保持

11

PTTL key 以毫秒为单位返回 key 的剩余的过期时间

12

TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)

13

RANDOMKEY 从当前数据库中随机返回一个 key

14

RENAME key newkey 修改 key 的名称

15

RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey 

16

TYPE key 返回 key 所储存的值的类型

2 Redis操作

2.1 KEYS pattern 查找所有符合给定模式( pattern)的 key

(error) ERR unknown command 'key'
127.0.0.1:6379> keys *
 1) "myset3"
 2) "c_4.3.7"
 3) "mylist3"
 4) "mylist45"
 5) "mylist1"
 6) "c_4.12.3"
 7) "c_4.4.1"
 8) "myset4"
 9) "mylsit5"
10) "myset"
11) "c_4.11.6"
12) "mylist2"
13) "c_4.13.2"
14) "mylist5"
15) "myhash"
16) "c_4.3.6"
17) "c_4.6.34"
18) "myset6"
19) "set"
20) "mtset"
21) "c_4.12.4"
22) "c_4.3.5"
23) "c_4.0.40"
24) "c_4.3.3"
25) "c_4.3.2"
26) "myset2"
27) "c_4.11.5"
28) "c_4.5.17"
29) "myset5"
30) "myset1"
31) "mylist4"
32) "c_4.0.30"
33) "mylist"

用表达式*,代表取出所有的 key 

127.0.0.1:6379> keys set*
1) "set"
127.0.0.1:6379> keys myset*
1) "myset3"
2) "myset4"
3) "myset"
4) "myset6"
5) "myset2"
6) "myset5"
7) "myset1"

用表达式set*和myset*,代表取出所有以set和myset开头的key 

2.2 EXISTS key 检查给定 key 是否存在。

127.0.0.1:6379> exists lizq
(integer) 0
127.0.0.1:6379> exists myset1
(integer) 1

2.3 DEL key 该命令用于在 key 存在是删除 key

127.0.0.1:6379> del myset1
(integer) 1

2.4 EXPIRE key seconds 为给定 key 设置过期时间

2.5 TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)

127.0.0.1:6379> expire myset2 10
(integer) 1
127.0.0.1:6379> ttl myset2
(integer) 4
127.0.0.1:6379> ttl myset2
(integer) -2

2.6 MOVE key db 将当前数据库的 key 移动到给定的数据库 db 当中

127.0.0.1:6379> select 0
OK
127.0.0.1:6379> set age 20
OK
127.0.0.1:6379> get age
"20"
127.0.0.1:6379> move age 2
(integer) 1
127.0.0.1:6379> get age
(nil)
127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]> get age
"20"

redis 默认有0-15个数据库,  select  0表示选择当前数据库。在本例中,我先显式的选择了数据库 0,然后在这个库中设置一个 key,接下来我们将这个key 从数据库0移到数据库2,之后我们确认在数据库 0中无此key 了,  但在数据库2中存在这个key,说明我们转移成功了。

2.7 PERSIST key 移除 key 的过期时间,key 将持久保持

127.0.0.1:6379[2]> expire age 300
(integer) 1
127.0.0.1:6379[2]> ttl age
(integer) 294
127.0.0.1:6379[2]> persist age
(integer) 1
127.0.0.1:6379[2]> ttl age
(integer) -1

2.8 RANDOMKEY 从当前数据库中随机返回一个 key

127.0.0.1:6379> randomkey
"c_4.3.2"
127.0.0.1:6379> randomkey
"mylist2"
127.0.0.1:6379> randomkey
"c_4.11.6"
127.0.0.1:6379> randomkey
"mylsit5"

2.9 RENAME key newkey 修改 key 的名称

127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]> keys *
1) "age"
127.0.0.1:6379[2]> rename age new_age
OK
127.0.0.1:6379[2]> keys *
1) "new_age"

2.10 TYPE key 返回 key 所储存的值的类型

127.0.0.1:6379> type mylist
list
127.0.0.1:6379> type set
zset
127.0.0.1:6379> type myhash
hash

3 服务相关命令

3.1 ping 测试连接是否存活

127.0.0.1:6379> ping
PONG

3.2 echo 在命令行打印内容

127.0.0.1:6379> echo "hello"
"hello"

3.3 select 连接数据库

Redis数据库编号从0~15,我们可以选择任意一个数据库来进行数据的存取。

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 5
OK
127.0.0.1:6379[5]> select 20
(error) ERR invalid DB index

3.4 quit 

退出连接

3.5 dbsize

127.0.0.1:6379> dbsize
(integer) 33

3.6 info 获取服务器的信息和统计

127.0.0.1:6379> info
# Server
redis_version:2.8.12
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:ff040dde4a39b4ff
redis_mode:standalone
os:Windows
arch_bits:64
multiplexing_api:winsock_IOCP
gcc_version:0.0.0
process_id:8788
run_id:fdbc745962666c626f60043a2518b594beec02be
tcp_port:6379
uptime_in_seconds:369
uptime_in_days:0
hz:10
lru_clock:6161870
config_file:

# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:4608384
used_memory_human:4.39M
used_memory_rss:4574808
used_memory_peak:4608384
used_memory_peak_human:4.39M
used_memory_lua:33792
mem_fragmentation_ratio:0.99
mem_allocator:dlmalloc-2.8

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1566442589
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok

# Stats
total_connections_received:2
total_commands_processed:6
instantaneous_ops_per_sec:0
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0

# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:0.08
used_cpu_user:0.02
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

# Keyspace
db0:keys=33,expires=0,avg_ttl=0

显示服务器的基础信息,包括版本、启动时间等。

3.7 config 获取服务器配置信息

127.0.0.1:6379> config get dir
1) "dir"
2) "D:\\Redis\\redis\\redis64-latest"

3.8 flushdb 删除当前选择数据库中的所有 key

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

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