Redis实战(8)键值和服务器命令

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介:

一、键值相关命令

keys:

返回满足给定 pattern 的所有 key
175859370.png

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

用表达式 mylist*,代表取出所有以 mylist 开头的 key
exists:

确认一个 key 是否存在
180545604.png

del:

删除一个 key
180703391.png

expire:

设置一个 key 的过期时间(单位:秒)
180956750.png

在本例中,我们设置 age 这个 key 的过期时间是 10 秒,然后我们不断的用 ttl 来获取这个
key 的有效时长.

ttl返回值:
key不存在时,返回 -2
key存在但没有设置剩余生存时间时,返回 -1
否则,以秒为单位,返回 key的剩余生存时间。

在 Redis 2.8 以前,当key不存在,或者key没有设置剩余生存时间时,命令都返回-1

move:

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

在本例中,我先显式的选择了数据库 0,然后在这个库中设置一个 key,接下来我们将这个
key 从数据库 0 移到数据库 1,之后我们确认在数据库 0 中无此 key 了, 但在数据库 1 中存在
这个 key,说明我们转移成功了
persist:

移除给定 key 的过期时间
181441626.png

在这个例子中,我们手动的将未到过期时间的 key,成功设置为过期
randomkey:

随机返回 key 空间的一个 key
181653138.png

rename:

重命名 key
181825961.png

type:

返回值的类型
182342704.png


二、服务器命令


ping:

测试连接是否存活

1
2
3
127.0.0.1:6379>  ping
PONG
127.0.0.1:6379>

这个说明时连接成功的。

echo :

在命令行打印一些内容

1
2
3
127.0.0.1:6379>  echo  'hello world'
"hello world"
127.0.0.1:6379>

select:

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

当选择 16 时,报错,说明没有编号为 16 的这个数据库
dbsize:

返回当前数据库中 key 的数目。

1
2
3
4
127.0.0.1:6379> dbsize
(integer) 8
127.0.0.1:6379>
结果说明此库中有 8 个 key

info:

获取服务器的信息和统计。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
127.0.0.1:6379> info
# Server
redis_version:2.8.2
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:9f7a4dc70b6a0d35
redis_mode:standalone
os:Linux 3.2.0-55-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.6.3
process_id:6756
run_id:d69ff05e10b7cae758fc13f950082d5aaec176f8
tcp_port:6379
uptime_in_seconds:2606
uptime_in_days:0
hz:10
lru_clock:246496
config_file: /home/jane/soft/redis-2 .8.2 /redis .conf
# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
# Memory
used_memory:809384
used_memory_human:790.41K
used_memory_rss:2174976
used_memory_peak:809568
used_memory_peak_human:790.59K
used_memory_lua:33792
mem_fragmentation_ratio:2.69
mem_allocator:jemalloc-3.2.0
# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1386585111
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
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
# Stats
total_connections_received:2
total_commands_processed:81
instantaneous_ops_per_sec:0
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:2
evicted_keys:0
keyspace_hits:23
keyspace_misses:10
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:180
# 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.18
used_cpu_user:0.39
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
# Keyspace
db0:keys=8,expires=0,avg_ttl=0
db1:keys=1,expires=0,avg_ttl=0

此结果用于说明服务器的基础信息,包括版本、启动时间等。
monitor:

实时转储收到的请求。
在一个连接中,输入monitor,等待请求,再另一个连接中输入命令:

184329352.png

config get:

获取服务器配置信息。
184524165.png

本例中我们获取了 dir 这个参数配置的值,如果想获取全部参数据的配置值也很简单,只需
执行”config get *”即可将全部的值都显示出来。
flushdb:

删除当前选择数据库中的所有 key
flushall:
删除所有数据库中的所有 key。

184913629.png





















本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1338592,如需转载请自行联系原作者
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3天前
|
NoSQL Java Redis
如何使用Redis的setNx命令来实现分布式锁
如何使用Redis的setNx命令来实现分布式锁
|
6天前
|
监控 NoSQL Ubuntu
|
12天前
|
存储 消息中间件 NoSQL
中间件键值存储模型Redis
【7月更文挑战第11天】
17 3
|
19天前
|
前端开发 应用服务中间件 Linux
Nginx15-16服务器启停命令
Nginx15-16服务器启停命令
|
20天前
|
存储 Java
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
|
20天前
|
存储 NoSQL Redis
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
|
22天前
|
NoSQL 算法 Linux
【内附完整redis配置文件】linux服务器命令设置redis最大限制内存大小,设置redis内存回收机制,redis有哪些回收机制
【内附完整redis配置文件】linux服务器命令设置redis最大限制内存大小,设置redis内存回收机制,redis有哪些回收机制
21 0
|
1天前
|
弹性计算 运维 安全
阿里云ecs使用体验
整了台服务器部署项目上线
|
2天前
|
弹性计算 开发者
阿里云2核4G云服务器租用费用,轻量和ECS实例规格整理
阿里云2核4G服务器概览: - ECS u1企业专享:2核4G,5M带宽,80G ESSD盘,199元/年,续费同价。 - 轻量应用:2核4G,4M带宽,60GB ESSD,298元/年,新人特惠。 - ECS u1实例基于Intel Xeon Platinum处理器,提供稳定算力。 - **注意:** 企业用户优先选择199元方案,个人开发者适合轻量应用服务器。
27 5