Redis 腳本
Redis 腳本使用 Lua 解釋器來執(zhí)行腳本。 Reids 2.6 版
語法
Eval 命令的基本語法如下:
redis 127.0.0.1:6379> EVAL script numkeys key [key ...] arg [arg ...]
實例
以下實例演示了 redis 腳本工作過程:
redis 127.0.0.1:6379> EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second
1) "key1"
2) "key2"
3) "first"
4) "second"
Redis 腳本命令
下表列出了 redis 腳本常用命令:
序號 | 命令 | 描述 |
---|---|---|
1 | EVAL script numkeys key [key ...] arg [arg ...] | 執(zhí)行 Lua 腳本深滚。 |
2 | EVALSHA sha1 numkeys key [key ...] arg [arg ...] | 執(zhí)行 Lua 腳本奕谭。 |
3 | SCRIPT EXISTS script [script ...] | 查看指定的腳本是否已經(jīng)被保存在緩存當中涣觉。 |
4 | SCRIPT FLUSH | 從腳本緩存中移除所有腳本。 |
5 | SCRIPT KILL | 殺死當前正在運行的 Lua 腳本血柳。 |
6 | SCRIPT LOAD script | 將腳本 script 添加到腳本緩存中官册,但并不立即執(zhí)行這個腳本。 |
Redis 連接
Redis 連接命令主要是用于連接 redis 服務难捌。
實例
以下實例演示了客戶端如何通過密碼驗證連接到 redis 服務膝宁,并檢測服務是否在運行:
redis 127.0.0.1:6379> AUTH "password"
OK
redis 127.0.0.1:6379> PING
PONG
Redis 連接命令
序號 | 命令 | 描述 |
---|---|---|
1 | AUTH password | 驗證密碼是否正確 |
2 | ECHO message | 打印字符串 |
3 | PING | 查看服務是否運行 |
4 | QUIT | 關閉當前連接 |
5 | SELECT index | 切換到指定的數(shù)據(jù)庫 |
下表列出了 redis 連接的基本命令:
序號 | 命令 | 描述 |
---|---|---|
1 | AUTH password | 驗證密碼是否正確 |
2 | ECHO message | 打印字符串 |
3 | PING | 查看服務是否運行 |
4 | QUIT | 關閉當前連接 |
5 | SELECT index | 切換到指定的數(shù)據(jù)庫 |
Redis 服務器
Redis 服務器命令主要是用于管理 redis 服務。
實例
以下實例演示了如何獲取 redis 服務器的統(tǒng)計信息:
redis 127.0.0.1:6379> INFO
# Server
redis_version:2.8.13
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:c2238b38b1edb0e2
redis_mode:standalone
os:Linux 3.5.0-48-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.7.2
process_id:3856
run_id:0e61abd297771de3fe812a3c21027732ac9f41fe
tcp_port:6379
uptime_in_seconds:11554
uptime_in_days:0
hz:10
lru_clock:16651447
config_file:
# Clients
connected_clients:1
client-longest_output_list:0
client-biggest_input_buf:0
blocked_clients:0
# Memory
used_memory:589016
used_memory_human:575.21K
used_memory_rss:2461696
used_memory_peak:667312
used_memory_peak_human:651.67K
used_memory_lua:33792
mem_fragmentation_ratio:4.18
mem_allocator:jemalloc-3.6.0
# Persistence
loading:0
rdb_changes_since_last_save:3
rdb_bgsave_in_progress:0
rdb_last_save_time:1409158561
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
aof_last_write_status:ok
# Stats
total_connections_received:24
total_commands_processed:294
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:41
keyspace_misses:82
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:264
# 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:10.49
used_cpu_user:4.96
used_cpu_sys_children:0.00
used_cpu_user_children:0.01
# Keyspace
db0:keys=94,expires=1,avg_ttl=41638810
db1:keys=1,expires=0,avg_ttl=0
db3:keys=1,expires=0,avg_ttl=0
Redis 服務器命令
序號 | 命令 | 描述 |
---|---|---|
1 | <a >BGREWRITEAOF</a> | 異步執(zhí)行一個 AOF(AppendOnly File) 文件重寫操作 |
2 | <a >BGSAVE</a> | 在后臺異步保存當前數(shù)據(jù)庫的數(shù)據(jù)到磁盤 |
3 | <a >CLIENT KILL [ip:port] [ID client-id]</a> | 關閉客戶端連接 |
4 | <a >CLIENT LIST</a> | 獲取連接到服務器的客戶端連接列表 |
5 | <a >CLIENT GETNAME</a> | 獲取連接的名稱 |
6 | <a >CLIENT PAUSE timeout</a> | 在指定時間內(nèi)終止運行來自客戶端的命令 |
7 | <a >CLIENT SETNAME connection-name</a> | 設置當前連接的名稱 |
8 | <a >CLUSTER SLOTS</a> | 獲取集群節(jié)點的映射數(shù)組 |
9 | <a >COMMAND</a> | 獲取 Redis 命令詳情數(shù)組 |
10 | <a >COMMAND COUNT</a> | 獲取 Redis 命令總數(shù) |
11 | <a >COMMAND GETKEYS</a> | 獲取給定命令的所有鍵 |
12 | <a >TIME</a> | 返回當前服務器時間 |
13 | <a >COMMAND INFO command-name [command-name ...]</a> | 獲取指定 Redis 命令描述的數(shù)組 |
14 | <a >CONFIG GET parameter</a> | 獲取指定配置參數(shù)的值 |
15 | <a >CONFIG REWRITE</a> | 對啟動 Redis 服務器時所指定的 redis.conf 配置文件進行改寫 |
16 | <a >CONFIG SET parameter value</a> | 修改 redis 配置參數(shù)根吁,無需重啟 |
17 | <a >CONFIG RESETSTAT</a> | 重置 INFO 命令中的某些統(tǒng)計數(shù)據(jù) |
18 | <a >DBSIZE</a> | 返回當前數(shù)據(jù)庫的 key 的數(shù)量 |
19 | <a >DEBUG OBJECT key</a> | 獲取 key 的調(diào)試信息 |
20 | <a >DEBUG SEGFAULT</a> | 讓 Redis 服務崩潰 |
21 | <a >FLUSHALL</a> | 刪除所有數(shù)據(jù)庫的所有key |
22 | <a >FLUSHDB</a> | 刪除當前數(shù)據(jù)庫的所有key |
23 | <a >INFO [section]</a> | 獲取 Redis 服務器的各種信息和統(tǒng)計數(shù)值 |
24 | <a >LASTSAVE</a> | 返回最近一次 Redis 成功將數(shù)據(jù)保存到磁盤上的時間员淫,以 UNIX 時間戳格式表示 |
25 | <a >MONITOR</a> | 實時打印出 Redis 服務器接收到的命令,調(diào)試用 |
26 | <a >ROLE</a> | 返回主從實例所屬的角色 |
27 | <a >SAVE</a> | 異步保存數(shù)據(jù)到硬盤 |
28 | <a >SHUTDOWN [NOSAVE] [SAVE]</a> | 異步保存數(shù)據(jù)到硬盤击敌,并關閉服務器 |
29 | <a >SLAVEOF host port</a> | 將當前服務器轉(zhuǎn)變?yōu)橹付ǚ掌鞯膹膶俜掌?slave server) |
30 | <a >SLOWLOG subcommand [argument]</a> | 管理 redis 的慢日志 |
31 | <a >SYNC</a> | 用于復制功能(replication)的內(nèi)部命令 |
下表列出了 redis 服務器的相關命令:
序號 | 命令 | 描述 |
---|---|---|
1 | <a >BGREWRITEAOF</a> | 異步執(zhí)行一個 AOF(AppendOnly File) 文件重寫操作 |
2 | <a >BGSAVE</a> | 在后臺異步保存當前數(shù)據(jù)庫的數(shù)據(jù)到磁盤 |
3 | <a >CLIENT KILL [ip:port] [ID client-id]</a> | 關閉客戶端連接 |
4 | <a >CLIENT LIST</a> | 獲取連接到服務器的客戶端連接列表 |
5 | <a >CLIENT GETNAME</a> | 獲取連接的名稱 |
6 | <a >CLIENT PAUSE timeout</a> | 在指定時間內(nèi)終止運行來自客戶端的命令 |
7 | <a >CLIENT SETNAME connection-name</a> | 設置當前連接的名稱 |
8 | <a >CLUSTER SLOTS</a> | 獲取集群節(jié)點的映射數(shù)組 |
9 | <a >COMMAND</a> | 獲取 Redis 命令詳情數(shù)組 |
10 | <a >COMMAND COUNT</a> | 獲取 Redis 命令總數(shù) |
11 | <a >COMMAND GETKEYS</a> | 獲取給定命令的所有鍵 |
12 | <a >TIME</a> | 返回當前服務器時間 |
13 | <a >COMMAND INFO command-name [command-name ...]</a> | 獲取指定 Redis 命令描述的數(shù)組 |
14 | <a >CONFIG GET parameter</a> | 獲取指定配置參數(shù)的值 |
15 | <a >CONFIG REWRITE</a> | 對啟動 Redis 服務器時所指定的 redis.conf 配置文件進行改寫 |
16 | <a >CONFIG SET parameter value</a> | 修改 redis 配置參數(shù)介返,無需重啟 |
17 | <a >CONFIG RESETSTAT</a> | 重置 INFO 命令中的某些統(tǒng)計數(shù)據(jù) |
18 | <a >DBSIZE</a> | 返回當前數(shù)據(jù)庫的 key 的數(shù)量 |
19 | <a >DEBUG OBJECT key</a> | 獲取 key 的調(diào)試信息 |
20 | <a >DEBUG SEGFAULT</a> | 讓 Redis 服務崩潰 |
21 | <a >FLUSHALL</a> | 刪除所有數(shù)據(jù)庫的所有key |
22 | <a >FLUSHDB</a> | 刪除當前數(shù)據(jù)庫的所有key |
23 | <a >INFO [section]</a> | 獲取 Redis 服務器的各種信息和統(tǒng)計數(shù)值 |
24 | <a >LASTSAVE</a> | 返回最近一次 Redis 成功將數(shù)據(jù)保存到磁盤上的時間,以 UNIX 時間戳格式表示 |
25 | <a >MONITOR</a> | 實時打印出 Redis 服務器接收到的命令沃斤,調(diào)試用 |
26 | <a >ROLE</a> | 返回主從實例所屬的角色 |
27 | <a >SAVE</a> | 異步保存數(shù)據(jù)到硬盤 |
28 | <a >SHUTDOWN [NOSAVE] [SAVE]</a> | 異步保存數(shù)據(jù)到硬盤圣蝎,并關閉服務器 |
29 | <a >SLAVEOF host port</a> | 將當前服務器轉(zhuǎn)變?yōu)橹付ǚ掌鞯膹膶俜掌?slave server) |
30 | <a >SLOWLOG subcommand [argument]</a> | 管理 redis 的慢日志 |
31 | <a >SYNC</a> | 用于復制功能(replication)的內(nèi)部命令 |