天天看点

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

一、键值相关命令

keys:

返回满足给定 pattern 的所有 key

<a href="http://blog.51cto.com/attachment/201312/175859370.png" target="_blank"></a>

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

<a href="http://blog.51cto.com/attachment/201312/175946684.png" target="_blank"></a>

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

exists:

确认一个 key 是否存在

<a href="http://blog.51cto.com/attachment/201312/180545604.png" target="_blank"></a>

del:

删除一个 key

<a href="http://blog.51cto.com/attachment/201312/180703391.png" target="_blank"></a>

expire:

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

<a href="http://blog.51cto.com/attachment/201312/180956750.png" target="_blank"></a>

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

key 的有效时长.

<dl></dl>

<dt>ttl返回值:</dt>

<dd></dd>

当key不存在时,返回-2。

当key存在但没有设置剩余生存时间时,返回-1。

否则,以秒为单位,返回key的剩余生存时间。

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

move:

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

<a href="http://blog.51cto.com/attachment/201312/181230293.png" target="_blank"></a>

在本例中,我先显式的选择了数据库 0,然后在这个库中设置一个 key,接下来我们将这个

key 从数据库 0 移到数据库 1,之后我们确认在数据库 0 中无此 key 了, 但在数据库 1 中存在

这个 key,说明我们转移成功了

persist:

移除给定 key 的过期时间

<a href="http://blog.51cto.com/attachment/201312/181441626.png" target="_blank"></a>

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

randomkey:

随机返回 key 空间的一个 key

<a href="http://blog.51cto.com/attachment/201312/181653138.png" target="_blank"></a>

rename:

重命名 key

<a href="http://blog.51cto.com/attachment/201312/181825961.png" target="_blank"></a>

type:

返回值的类型

<a href="http://blog.51cto.com/attachment/201312/182342704.png" target="_blank"></a>

二、服务器命令

ping:

测试连接是否存活

1

2

3

<code>127.0.0.1:6379&gt; </code><code>ping</code>

<code>PONG</code>

<code>127.0.0.1:6379&gt;</code>

这个说明时连接成功的。

echo :

在命令行打印一些内容

<code>127.0.0.1:6379&gt; </code><code>echo</code> <code>'hello world'</code>

<code>"hello world"</code>

select:

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

<a href="http://blog.51cto.com/attachment/201312/183304699.png" target="_blank"></a>

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

dbsize:

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

4

<code>127.0.0.1:6379&gt; dbsize</code>

<code>(integer) 8</code>

<code>结果说明此库中有 8 个 key</code>

info:

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

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

<code>127.0.0.1:6379&gt; info</code>

<code># Server</code>

<code>redis_version:2.8.2</code>

<code>redis_git_sha1:00000000</code>

<code>redis_git_dirty:0</code>

<code>redis_build_id:9f7a4dc70b6a0d35</code>

<code>redis_mode:standalone</code>

<code>os:Linux 3.2.0-55-generic x86_64</code>

<code>arch_bits:64</code>

<code>multiplexing_api:epoll</code>

<code>gcc_version:4.6.3</code>

<code>process_id:6756</code>

<code>run_id:d69ff05e10b7cae758fc13f950082d5aaec176f8</code>

<code>tcp_port:6379</code>

<code>uptime_in_seconds:2606</code>

<code>uptime_in_days:0</code>

<code>hz:10</code>

<code>lru_clock:246496</code>

<code>config_file:</code><code>/home/jane/soft/redis-2</code><code>.8.2</code><code>/redis</code><code>.conf</code>

<code># Clients</code>

<code>connected_clients:1</code>

<code>client_longest_output_list:0</code>

<code>client_biggest_input_buf:0</code>

<code>blocked_clients:0</code>

<code># Memory</code>

<code>used_memory:809384</code>

<code>used_memory_human:790.41K</code>

<code>used_memory_rss:2174976</code>

<code>used_memory_peak:809568</code>

<code>used_memory_peak_human:790.59K</code>

<code>used_memory_lua:33792</code>

<code>mem_fragmentation_ratio:2.69</code>

<code>mem_allocator:jemalloc-3.2.0</code>

<code># Persistence</code>

<code>loading:0</code>

<code>rdb_changes_since_last_save:0</code>

<code>rdb_bgsave_in_progress:0</code>

<code>rdb_last_save_time:1386585111</code>

<code>rdb_last_bgsave_status:ok</code>

<code>rdb_last_bgsave_time_sec:0</code>

<code>rdb_current_bgsave_time_sec:-1</code>

<code>aof_enabled:0</code>

<code>aof_rewrite_in_progress:0</code>

<code>aof_rewrite_scheduled:0</code>

<code>aof_last_rewrite_time_sec:-1</code>

<code>aof_current_rewrite_time_sec:-1</code>

<code>aof_last_bgrewrite_status:ok</code>

<code># Stats</code>

<code>total_connections_received:2</code>

<code>total_commands_processed:81</code>

<code>instantaneous_ops_per_sec:0</code>

<code>rejected_connections:0</code>

<code>sync_full:0</code>

<code>sync_partial_ok:0</code>

<code>sync_partial_err:0</code>

<code>expired_keys:2</code>

<code>evicted_keys:0</code>

<code>keyspace_hits:23</code>

<code>keyspace_misses:10</code>

<code>pubsub_channels:0</code>

<code>pubsub_patterns:0</code>

<code>latest_fork_usec:180</code>

<code># Replication</code>

<code>role:master</code>

<code>connected_slaves:0</code>

<code>master_repl_offset:0</code>

<code>repl_backlog_active:0</code>

<code>repl_backlog_size:1048576</code>

<code>repl_backlog_first_byte_offset:0</code>

<code>repl_backlog_histlen:0</code>

<code># CPU</code>

<code>used_cpu_sys:0.18</code>

<code>used_cpu_user:0.39</code>

<code>used_cpu_sys_children:0.00</code>

<code>used_cpu_user_children:0.00</code>

<code># Keyspace</code>

<code>db0:keys=8,expires=0,avg_ttl=0</code>

<code>db1:keys=1,expires=0,avg_ttl=0</code>

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

monitor:

实时转储收到的请求。

在一个连接中,输入monitor,等待请求,再另一个连接中输入命令:

<a href="http://blog.51cto.com/attachment/201312/184329352.png" target="_blank"></a>

config get:

获取服务器配置信息。

<a href="http://blog.51cto.com/attachment/201312/184524165.png" target="_blank"></a>

本例中我们获取了 dir 这个参数配置的值,如果想获取全部参数据的配置值也很简单,只需

执行”config get *”即可将全部的值都显示出来。

flushdb:

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

flushall:

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

<a href="http://blog.51cto.com/attachment/201312/184913629.png" target="_blank"></a>

本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1338592,如需转载请自行联系原作者