Home  >  Article  >  Database  >  Redis实战(8)键值和服务器命令

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

WBOY
WBOYOriginal
2016-06-07 17:37:221121browse

一、键值相关命令keys:返回满足给定pattern的所有key用表达式*,代表取出所有的key用表达式mylist*,代表取出所有以mylist开头的keyexists:确认一个key&nbs..

一、键值相关命令

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:

测试连接是否存活

127.0.0.1:6379> ping PONG 127.0.0.1:6379>

这个说明时连接成功的。

echo :

在命令行打印一些内容

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 的数目。

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

info:

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

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




本文出自 “phper-每天一点点~” 博客,请务必保留此出处

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn