The gemfire-jruby gem provides a Ruby interface to GemStone Systems' GemFire cache. It can be used to embed a GemFire cache in a JRuby VM or to embed a GemFire client in the JRuby VM ... the client transparently forwards all operations to a running GemFire server on a remote node.
Now, JRuby applications go well beyond what is available through the memcached cache plugin in Ruby/Rails. The cached data will be highly available through multiple copies of data across the cluster, optional storage to disk for overflow or for recovery, eviction/expiry, replicate data across WAN boundaries to remote cache clusters, dynamically expand the cache cluster capacity and many more features listed below:
- Host GemFire cache in a embedded mode (client mode) or in a remote cache server cluster(server mode)
- listening for operation events in either client or server mode
- transparently loading or writing cache data to an external store (server mode only)
- choosing to keep data on the client or to keep data on the server only
- choosing to partition data across the servers or to replicate all data on each server
- easy to use, e.g., create a client with GemFire.new('client') or a server with GemFire.new('server')
- GemFire operations: create(key, value), put(key, value), get(key), invalidate(key), destroy(key), clear
- memcached api operations: read(key), write(key, value), delete(key), exist?(key), keys
- one cache region ... additional cache regions can be declared in XML
Note that this JRuby plugin is available as-is with source code and without any warranties from GemStone Systems.