зеркало из https://github.com/Azure/YCSB.git
[memcached] support binary protocol (#965)
Adding support for memcached binary protocol as described in https://github.com/memcached/memcached/blob/master/doc/protocol.txt. Protocol can be set via memcached.protocol property of YCSB memcached workload. if specified protocol must be "binary" or "text". If unspecified text version is used.
This commit is contained in:
Родитель
ddde8e3c7a
Коммит
b0ff7270fc
|
@ -91,6 +91,10 @@ A sample configuration is provided in
|
|||
What to do with failures; this is one of `net.spy.memcached.FailureMode` enum
|
||||
values, which are currently: `Redistribute`, `Retry`, or `Cancel`.
|
||||
|
||||
- `memcached.protocol`
|
||||
Set to 'binary' to use memcached binary protocol. Set to 'text' or omit this field
|
||||
to use memcached text protocol
|
||||
|
||||
You can set properties on the command line via `-p`, e.g.:
|
||||
|
||||
./bin/ycsb load memcached -s -P workloads/workloada \
|
||||
|
|
|
@ -98,6 +98,10 @@ public class MemcachedClient extends DB {
|
|||
public static final FailureMode FAILURE_MODE_PROPERTY_DEFAULT =
|
||||
FailureMode.Redistribute;
|
||||
|
||||
public static final String PROTOCOL_PROPERTY = "memcached.protocol";
|
||||
public static final ConnectionFactoryBuilder.Protocol DEFAULT_PROTOCOL =
|
||||
ConnectionFactoryBuilder.Protocol.TEXT;
|
||||
|
||||
/**
|
||||
* The MemcachedClient implementation that will be used to communicate
|
||||
* with the memcached server.
|
||||
|
@ -142,6 +146,11 @@ public class MemcachedClient extends DB {
|
|||
connectionFactoryBuilder.setOpTimeout(Integer.parseInt(
|
||||
getProperties().getProperty(OP_TIMEOUT_PROPERTY, DEFAULT_OP_TIMEOUT)));
|
||||
|
||||
String protocolString = getProperties().getProperty(PROTOCOL_PROPERTY);
|
||||
connectionFactoryBuilder.setProtocol(
|
||||
protocolString == null ? DEFAULT_PROTOCOL
|
||||
: ConnectionFactoryBuilder.Protocol.valueOf(protocolString.toUpperCase()));
|
||||
|
||||
String failureString = getProperties().getProperty(FAILURE_MODE_PROPERTY);
|
||||
connectionFactoryBuilder.setFailureMode(
|
||||
failureString == null ? FAILURE_MODE_PROPERTY_DEFAULT
|
||||
|
|
Загрузка…
Ссылка в новой задаче