Module: Redis::Commands::Server
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Defined in: | lib/redis/commands/server.rb |
Instance Method Summary
-
#bgrewriteaof ⇒ String
Asynchronously rewrite the append-only file.
-
#bgsave ⇒ String
Asynchronously save the dataset to disk.
-
#client(subcommand, *args) ⇒ String, Hash
Manage client connections.
-
#config(action, *args) ⇒ String, Hash
Get or set server configuration parameters.
-
#dbsize ⇒ Integer
Return the number of keys in the selected database.
- #debug(*args)
-
#flushall(options = nil) ⇒ String
Remove all keys from all databases.
-
#flushdb(options = nil) ⇒ String
Remove all keys from the current database.
-
#info(cmd = nil) ⇒ Hash<String, String>
Get information and statistics about the server.
-
#lastsave ⇒ Integer
Get the UNIX time stamp of the last successful save to disk.
-
#monitor {|line| ... }
Listen for all requests received by the server in real time.
-
#save ⇒ String
Synchronously save the dataset to disk.
-
#shutdown
Synchronously save the dataset to disk and then shut down the server.
-
#slaveof(host, port)
Make the server a slave of another instance, or promote it as master.
-
#slowlog(subcommand, length = nil) ⇒ Array<String>, ...
Interact with the slowlog (get, len, reset).
-
#sync
Internal command used for replication.
-
#time ⇒ Array<Integer>
Return the server time.
Instance Method Details
#bgrewriteaof ⇒ String
Asynchronously rewrite the append-only file.
# File 'lib/redis/commands/server.rb', line 9
def bgrewriteaof send_command([:bgrewriteaof]) end
#bgsave ⇒ String
Asynchronously save the dataset to disk.
# File 'lib/redis/commands/server.rb', line 16
def bgsave send_command([:bgsave]) end
#client(subcommand, *args) ⇒ String
, Hash
Manage client connections.
# File 'lib/redis/commands/server.rb', line 39
def client(subcommand, *args) send_command([:client, subcommand] + args) do |reply| if subcommand.to_s == "list" reply.lines.map do |line| entries = line.chomp.split(/[ =]/) Hash[entries.each_slice(2).to_a] end else reply end end end
#config(action, *args) ⇒ String
, Hash
Get or set server configuration parameters.
# File 'lib/redis/commands/server.rb', line 25
def config(action, *args) send_command([:config, action] + args) do |reply| if reply.is_a?(Array) && action == :get Hashify.call(reply) else reply end end end
#dbsize ⇒ Integer
Return the number of keys in the selected database.
# File 'lib/redis/commands/server.rb', line 55
def dbsize send_command([:dbsize]) end
#debug(*args)
[ GitHub ]# File 'lib/redis/commands/server.rb', line 183
def debug(*args) send_command([:debug] + args) end
#flushall(options = nil) ⇒ String
Remove all keys from all databases.
# File 'lib/redis/commands/server.rb', line 64
def flushall( = nil) if && [:async] send_command(%i[flushall async]) else send_command([:flushall]) end end
#flushdb(options = nil) ⇒ String
Remove all keys from the current database.
# File 'lib/redis/commands/server.rb', line 77
def flushdb( = nil) if && [:async] send_command(%i[flushdb async]) else send_command([:flushdb]) end end
#info(cmd = nil) ⇒ Hash
<String
, String
>
Get information and statistics about the server.
# File 'lib/redis/commands/server.rb', line 89
def info(cmd = nil) send_command([:info, cmd].compact) do |reply| if reply.is_a?(String) reply = HashifyInfo.call(reply) if cmd && cmd.to_s == "commandstats" # Extract nested hashes for INFO COMMANDSTATS reply = Hash[reply.map do |k, v| v = v.split(",").map { |e| e.split("=") } [k[/^cmdstat_(.*)$/, 1], Hash[v]] end] end end reply end end
#lastsave ⇒ Integer
Get the UNIX time stamp of the last successful save to disk.
# File 'lib/redis/commands/server.rb', line 110
def lastsave send_command([:lastsave]) end
#monitor {|line| ... }
Listen for all requests received by the server in real time.
There is no way to interrupt this command.
#save ⇒ String
Synchronously save the dataset to disk.
# File 'lib/redis/commands/server.rb', line 133
def save send_command([:save]) end
#shutdown
Synchronously save the dataset to disk and then shut down the server.
# File 'lib/redis/commands/server.rb', line 138
def shutdown synchronize do |client| client.disable_reconnection do client.call_v([:shutdown]) rescue ConnectionError # This means Redis has probably exited. nil end end end
#slaveof(host, port)
Make the server a slave of another instance, or promote it as master.
# File 'lib/redis/commands/server.rb', line 150
def slaveof(host, port) send_command([:slaveof, host, port]) end
#slowlog(subcommand, length = nil) ⇒ Array
<String
>, ...
Interact with the slowlog (get, len, reset)
# File 'lib/redis/commands/server.rb', line 159
def slowlog(subcommand, length = nil) args = [:slowlog, subcommand] args << Integer(length) if length send_command(args) end
#sync
Internal command used for replication.
# File 'lib/redis/commands/server.rb', line 166
def sync send_command([:sync]) end
#time ⇒ Array
<Integer
>
Return the server time.
# File 'lib/redis/commands/server.rb', line 177
def time send_command([:time]) do |reply| reply&.map(&:to_i) end end