12.3. The Memcached Interface Connector

Red Hat JBoss Data Grid supports three connector types, namely:
  • The hotrod-connector element, which defines the configuration for a Hot Rod based connector.
  • The memcached-connector element, which defines the configuration for a memcached based connector.
  • The rest-connector element, which defines the configuration for a REST interface based connector.
The connector declaration enables a Hot Rod, Memcached, or REST server using a socket binding, which is declared within a <socket-binding-group />, and exposing the caches declared in the local container, using defaults for all other settings. The following examples show how to connect to Hot Rod, Memcached, and REST servers.
The following enables a Memcached server using the memcached socket binding, and exposes the memcachedCache cache declared in the local container, using defaults for all other settings.
<memcached-connector socket-binding="memcached" 
		     cache-container="local"/>
Due to the limitations in the Memcached protocol, only one cache can be exposed by a connector. To expose more than one cache, declare additional memcached-connectors on different socket-bindings. See Section 12.3.1, “Configure Memcached Connectors”.

12.3.1. Configure Memcached Connectors

The following procedure describes the attributes used to configure the memcached connector within the connectors element in Red Hat JBoss Data Grid's Remote Client-Server Mode.

Procedure 12.1. Configuring the Memcached Connector in Remote Client-Server Mode

The memcached-connector element defines the configuration elements for use with memcached.
<subsystem xmlns="urn:infinispan:server:endpoint:6.1">
<memcached-connector socket-binding="memcached" 
                     cache-container="local" 
                     worker-threads="${VALUE}" 
                     idle-timeout="{VALUE}"
                     tcp-nodelay="{TRUE/FALSE}" 
                     send-buffer-size="{VALUE}" 
                     receive-buffer-size="${VALUE}" />
</subsystem>
  1. The socket-binding parameter specifies the socket binding port used by the memcached connector. This is a mandatory parameter.
  2. The cache-container parameter names the cache container used by the memcached connector. This is a mandatory parameter.
  3. The worker-threads parameter specifies the number of worker threads available for the memcached connector. The default value for this parameter is 160. This is an optional parameter.
  4. The idle-timeout parameter specifies the time (in milliseconds) the connector can remain idle before the connection times out. The default value for this parameter is -1, which means that no timeout period is set. This is an optional parameter.
  5. The tcp-nodelay parameter specifies whether TCP packets will be delayed and sent out in batches. Valid values for this parameter are true and false. The default value for this parameter is true. This is an optional parameter.
  6. The send-buffer-size parameter indicates the size of the send buffer for the memcached connector. The default value for this parameter is the size of the TCP stack buffer. This is an optional parameter.
  7. The receive-buffer-size parameter indicates the size of the receive buffer for the memcached connector. The default value for this parameter is the size of the TCP stack buffer. This is an optional parameter.