天天看點

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,如需轉載請自行聯系原作者