| --- |
| title: Deploying and Configuring a Gemcached Server |
| --- |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| You can configure and deploy Gemcached servers in a Java class or by using the gfsh command-line interface. |
| |
| The following sections describe how to configure and deploy an embedded Gemcached server. You can configure and start a GemCached server either by invoking a Java class that calls the cache server's `start()` method, or by starting the cache server using the gfsh command line. |
| |
| ## <a id="topic_7B158074B27A4FEF9D38E7C369905C72__section_17E7E4058D914334B9C5AC2E3DC1F7F2" class="no-quick-link"></a>Embedding a Gemcached server in a <%=vars.product_name%> Java Application |
| |
| The `org.apache.geode.memcached` package contains a single class, `GemFireMemcachedServer` (see the <%=vars.product_name%> Javadocs.) Use this class to configure and embed a Gemcached server in a <%=vars.product_name%> cache server. For example, the following statement creates and starts an embedded Gemcached server on port number 5555 using the binary protocol: |
| |
| ``` pre |
| GemFireMemcachedServer server = |
| new GemFireMemcachedServer(5555, Protocol.BINARY);server.start(); |
| |
| ``` |
| |
| **Note:** |
| By default, Gemcached servers use the ASCII protocol. |
| |
| When you start a Gemcached server, by default, it creates a `RegionShortcut.PARTITION` region named `gemcached` where data used by memcached clients is stored. You can alter these defaults by configuring the region using the `cache.xml` or `gemfire.properties` files. See [Distributed System and Cache Configuration](../../basic_config/config_concepts/chapter_overview.html). |
| |
| ## <a id="topic_7B158074B27A4FEF9D38E7C369905C72__section_58A3FFED5BBB4F92A79FBD50421DC3F3" class="no-quick-link"></a>Starting a Gemcached Server Using a gfsh Command |
| |
| You can also start a Gemcached server with the gfsh command-line interface. Use the following syntax: |
| |
| ``` pre |
| gfsh>start server |
| --name=<server_name> |
| --server-port=<port_number> |
| --memcached-port=<port_number> |
| --memcached-protocol=BINARY|ASCII |
| ``` |
| |
| **Note:** |
| You can also set the memcached port number and protocol in the `gemfire.properties` file. |
| |
| If the `memcached-port` property is not specified, the embedded Gemcached server is not started. |
| |
| ## <a id="topic_7B158074B27A4FEF9D38E7C369905C72__section_E5587FE56A21424FBAEE8CF61DF34219" class="no-quick-link"></a>Configuring a Gemcached Server with the gemfire.properties File |
| |
| You can set the following properties in the `gemfire.properties` file that are used when starting Gemcached servers: |
| |
| <a id="topic_7B158074B27A4FEF9D38E7C369905C72__table_3F586259E06E42C4BD82AD661B3AFEA4"></a> |
| |
| <table> |
| <caption><span class="tablecap">Table 1. Gemcached Properties</span></caption> |
| <colgroup> |
| <col width="50%" /> |
| <col width="50%" /> |
| </colgroup> |
| <thead> |
| <tr class="header"> |
| <th><p>Property</p></th> |
| <th><p>Description</p></th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code class="ph codeph">memcached-port</code></td> |
| <td><p>The port number where the Gemcached server listens for connections from memcached clients.</p> |
| <p>If the port number is set to 0 or the <code class="ph codeph">memcached-port</code> parameter is omitted, the Gemcached server does not start.</p></td> |
| </tr> |
| <tr> |
| <td><code class="ph codeph">memcached-protocol</code></td> |
| <td><p>Memcached supports both ASCII and binary communication protocols. |
| (See <a href="https://github.com/memcached/memcached/blob/master/doc/protocol.txt">Memcached protocol</a> By default, Gemcached uses the ASCII protocol.</p> |
| <p>Set one of the following values:</p> |
| <ul> |
| <li><code class="ph codeph">ASCII</code> (default)</li> |
| <li><code class="ph codeph">BINARY</code></li> |
| </ul></td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <span class="tablecap">Table 1. Gemcached Properties</span> |
| |
| |