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