Awesome
Ignite Ruby
:fire: Ruby client for Apache Ignite
Installation
Add this line to your application’s Gemfile:
gem "ignite-client"
Getting Started
Create a client
client = Ignite::Client.new
See connection options for more info
Key-Value API
Create a cache
cache = client.get_or_create_cache("test")
Add data
cache.put("hello", "world")
cache.get("hello")
Supports these methods
cache.get(key)
cache.get_all(keys)
cache.put(key, value)
cache.put_all(objects)
cache.key?(key)
cache.keys?(keys)
cache.get_and_put(key, value)
cache.get_and_replace(key, value)
cache.get_and_remove(key)
cache.put_if_absent(key, value)
cache.get_and_put_if_absent(key, value)
cache.replace(key, value)
cache.replace_if_equals(key, compare, value)
cache.clear
cache.clear_key(key)
cache.clear_keys(keys)
cache.remove_key(key)
cache.remove_if_equals(key, compare)
cache.size
cache.remove_keys(keys)
cache.remove_all
Scan Queries
Scan objects
cache.scan do |k, v|
# ...
end
SQL
Execute SQL queries
client.query("SELECT * FROM users")
Pass arguments
client.query("SELECT * FROM products WHERE name = ?", ["Ignite"])
Connection Options
Specify the host and port
Ignite::Client.new(host: "localhost", port: 10800)
Specify the connect timeout
Ignite::Client.new(connect_timeout: 3)
Authentication
For authentication, use:
Ignite::Client.new(username: "ignite", password: "ignite")
SSL is automatically enabled when credentials are supplied. To disable, use:
Ignite::Client.new(username: "ignite", password: "ignite", use_ssl: false)
SSL/TLS
For SSL/TLS, use:
Ignite::Client.new(
use_ssl: true,
ssl_params: {
ca_file: "ca.pem"
}
)
Supports all OpenSSL params
History
View the changelog
Contributing
Everyone is encouraged to help improve this project. Here are a few ways you can help:
- Report bugs
- Fix bugs and submit pull requests
- Write, clarify, or fix documentation
- Suggest or add new features
To get started with development:
git clone https://github.com/ankane/ignite-ruby.git
cd ignite-ruby
bundle install
bundle exec rake test