Packages

trait BaseClient[T] extends Closable

A friendly client to talk to a Memcached server.

See also

The Memcached protocol docs for details on the API.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BaseClient
  2. Closable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def add(key: String, flags: Int, expiry: Time, value: T): Future[Boolean]

    Store a key but only if it doesn't already exist on the server.

    Store a key but only if it doesn't already exist on the server.

    flags is an arbitrary integer that the server stores along with the data and sends back when the item is retrieved. Clients may use this as a bit field to store data-specific information; this field is opaque to the server.

    expiry is the expiration time for entries. If it is Time.epoch, Time.Top, Time.Bottom or Time.Undefined then the item never expires, although it may be deleted from the cache to make room for other items. This is also the case for values where the number of seconds is larger than Long.MaxValue. Otherwise, clients will not be able to retrieve this item after the expiration time arrives (measured on the cache server).

    returns

    true if stored, false if not stored

  2. abstract def append(key: String, flags: Int, expiry: Time, value: T): Future[Boolean]

    Append bytes to the end of an existing key.

    Append bytes to the end of an existing key. If the key doesn't exist, the operation has no effect.

    flags is an arbitrary integer that the server stores along with the data and sends back when the item is retrieved. Clients may use this as a bit field to store data-specific information; this field is opaque to the server.

    expiry is the expiration time for entries. If it is Time.epoch, Time.Top, Time.Bottom or Time.Undefined then the item never expires, although it may be deleted from the cache to make room for other items. This is also the case for values where the number of seconds is larger than Long.MaxValue. Otherwise, clients will not be able to retrieve this item after the expiration time arrives (measured on the cache server).

    returns

    true if stored, false if not stored

  3. abstract def bufferToType(a: Buf): T

    Deserialize from the bytes in a Buf into the client's type, T.

  4. abstract def checkAndSet(key: String, flags: Int, expiry: Time, value: T, casUnique: Buf): Future[CasResult]

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved, and casUnique extracted from a gets command.

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved, and casUnique extracted from a gets command. We treat the "cas unique" token opaquely, but in reality it is a string-encoded u64.

    flags is an arbitrary integer that the server stores along with the data and sends back when the item is retrieved. Clients may use this as a bit field to store data-specific information; this field is opaque to the server.

    expiry is the expiration time for entries. If it is Time.epoch, Time.Top, Time.Bottom or Time.Undefined then the item never expires, although it may be deleted from the cache to make room for other items. This is also the case for values where the number of seconds is larger than Long.MaxValue. Otherwise, clients will not be able to retrieve this item after the expiration time arrives (measured on the cache server).

    returns

    Stored if the operation was successful, Exists if the operation failed because someone else had changed the value, or NotFound if the key was not found in the cache.

    See also

    gets and getsResult for retreiving the cas token.

  5. abstract def close(deadline: Time): Future[Unit]

    Close the underlying resources.

    Close the underlying resources.

    Definition Classes
    BaseClient → Closable
  6. abstract def decr(key: String, delta: Long): Future[Option[Long]]

    Decrement the key by n.

    Decrement the key by n.

    Interprets the stored value for key as a Long if it is parseable as a decimal representation of a 64-bit unsigned integer.

    This operation has no effect if there is no value there already.

  7. abstract def delete(key: String): Future[Boolean]

    Remove a key.

    Remove a key.

    returns

    true if deleted, false if not found

  8. abstract def getResult(keys: Iterable[String]): Future[GetResult]

    Get a set of keys from the server.

    Get a set of keys from the server. Returns a Future[GetResult] that encapsulates hits, misses and failures.

    See also

    getsResult if you need "cas unique" tokens.

  9. abstract def getsResult(keys: Iterable[String]): Future[GetsResult]

    Get a set of keys from the server.

    Get a set of keys from the server. Returns a Future[GetsResult] that encapsulates hits, misses and failures. This variant includes the casToken from memcached.

    See also

    getResult if you do not need "cas unique" tokens.

    checkAndSet for using the token.

  10. abstract def incr(key: String, delta: Long): Future[Option[Long]]

    Increment the key by delta.

    Increment the key by delta.

    Interprets the stored value for key as a Long if it is parseable as a decimal representation of a 64-bit unsigned integer.

    This operation has no effect if there is no value there already.

  11. abstract def prepend(key: String, flags: Int, expiry: Time, value: T): Future[Boolean]

    Prepend bytes to the beginning of an existing key.

    Prepend bytes to the beginning of an existing key. If the key doesn't exist, the operation has no effect.

    flags is an arbitrary integer that the server stores along with the data and sends back when the item is retrieved. Clients may use this as a bit field to store data-specific information; this field is opaque to the server.

    expiry is the expiration time for entries. If it is Time.epoch, Time.Top, Time.Bottom or Time.Undefined then the item never expires, although it may be deleted from the cache to make room for other items. This is also the case for values where the number of seconds is larger than Long.MaxValue. Otherwise, clients will not be able to retrieve this item after the expiration time arrives (measured on the cache server).

    returns

    true if stored, false if not stored

  12. abstract def replace(key: String, flags: Int, expiry: Time, value: T): Future[Boolean]

    Replace bytes on an existing key.

    Replace bytes on an existing key. If the key doesn't exist, the operation has no effect.

    flags is an arbitrary integer that the server stores along with the data and sends back when the item is retrieved. Clients may use this as a bit field to store data-specific information; this field is opaque to the server.

    expiry is the expiration time for entries. If it is Time.epoch, Time.Top, Time.Bottom or Time.Undefined then the item never expires, although it may be deleted from the cache to make room for other items. This is also the case for values where the number of seconds is larger than Long.MaxValue. Otherwise, clients will not be able to retrieve this item after the expiration time arrives (measured on the cache server).

    returns

    true if stored, false if not stored

  13. abstract def set(key: String, flags: Int, expiry: Time, value: T): Future[Unit]

    Store a key.

    Store a key. Override an existing value.

    flags is an arbitrary integer that the server stores along with the data and sends back when the item is retrieved. Clients may use this as a bit field to store data-specific information; this field is opaque to the server.

    expiry is the expiration time for entries. If it is Time.epoch, Time.Top, Time.Bottom or Time.Undefined then the item never expires, although it may be deleted from the cache to make room for other items. This is also the case for values where the number of seconds is larger than Long.MaxValue. Otherwise, clients will not be able to retrieve this item after the expiration time arrives (measured on the cache server).

  14. abstract def stats(args: Option[String]): Future[Seq[String]]

    Send a stats command with optional arguments to the server.

    Send a stats command with optional arguments to the server.

    returns

    a sequence of strings, each of which is a line of output

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def add(key: String, value: T): Future[Boolean]

    Store a key but only if it doesn't already exist on the server.

    Store a key but only if it doesn't already exist on the server.

    Neither flags nor expiry are supplied.

    returns

    true if stored, false if not stored

  5. def append(key: String, value: T): Future[Boolean]

    Append a set of bytes to the end of an existing key.

    Append a set of bytes to the end of an existing key. If the key doesn't exist, the operation has no effect.

    returns

    true if stored, false if not stored

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def checkAndSet(key: String, value: T, casUnique: Buf): Future[CasResult]

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved.

    Perform a CAS operation on the key, only if the value has not changed since the value was last retrieved. This is enforced by passing a casUnique token extracted from a gets command. If the casUnique token matches the one on the server, the value is replaced. We treat the "cas unique" token opaquely, but in reality it is a string-encoded u64.

    Neither flags nor expiry are supplied.

    returns

    Stored if the operation was successful, Exists if the operation failed because someone else had changed the value, or NotFound if the key was not found in the cache.

    See also

    gets and getsResult for retreiving the cas token.

  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. def close(after: Duration): Future[Unit]
    Definition Classes
    Closable
  10. final def close(): Future[Unit]
    Definition Classes
    Closable
  11. def decr(key: String): Future[Option[Long]]

    Decrement the key by 1.

    Decrement the key by 1.

    Interprets the stored value for key as a Long if it is parseable as a decimal representation of a 64-bit unsigned integer.

    This operation has no effect if there is no value there already.

  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  15. def get(keys: Iterable[String]): Future[Map[String, T]]

    Get a set of keys from the server.

    Get a set of keys from the server.

    returns

    a Map[String, T] of all of the keys that the server had.

    See also

    gets if you need a "cas unique" token.

  16. def get(key: String): Future[Option[T]]

    Get a key from the server.

    Get a key from the server.

    returns

    None if there is no value stored for key.

    See also

    gets if you need a "cas unique" token.

  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def getWithFlag(keys: Iterable[String]): Future[Map[String, (T, Buf)]]

    Get a set of keys from the server, together with their flags

    Get a set of keys from the server, together with their flags

    returns

    a Map[String, (T, Buf)] of all the keys the server had, together with their flags

    See also

    get if you do not need the flags

  19. def getWithFlag(key: String): Future[Option[(T, Buf)]]

    Get a key from the server along with its flags

    Get a key from the server along with its flags

    returns

    None if there is no value stored for key.

    See also

    get if you do not need the flags.

  20. def gets(keys: Iterable[String]): Future[Map[String, (T, Buf)]]

    Get a set of keys from the server, together with a "cas unique" token.

    Get a set of keys from the server, together with a "cas unique" token. The token is treated opaquely by the memcache client but is in reality a string-encoded u64.

    returns

    a Map[String, (T, Buf)] of all the keys the server had, together with their "cas unique" token

    See also

    get if you do not need a "cas unique" token.

    checkAndSet for using the token.

  21. def gets(key: String): Future[Option[(T, Buf)]]

    Get a key from the server along with a "cas unique" token.

    Get a key from the server along with a "cas unique" token. The token is treated opaquely by the memcache client but is in reality a string-encoded u64.

    returns

    None if there is no value stored for key.

    See also

    get if you do not need a "cas unique" token.

    checkAndSet for using the token.

  22. def getsWithFlag(keys: Iterable[String]): Future[Map[String, (T, Buf, Buf)]]

    Get a set of keys from the server, together with a "cas unique" token and flags.

    Get a set of keys from the server, together with a "cas unique" token and flags. The token is treated opaquely by the memcache client but is in reality a string-encoded u64.

    returns

    a Map[String, (T, Buf, Buf)] of all the keys the server had, together with their "cas unique" token and flags

    See also

    get if you do not need the token or the flags.

    gets if you do not need the flag.

    getWithFlag if you do not need the token.

    checkAndSet for using the token.

  23. def getsWithFlag(key: String): Future[Option[(T, Buf, Buf)]]

    Get a key from the server along with its flags and a "cas unique" token.

    Get a key from the server along with its flags and a "cas unique" token.

    returns

    None if there is no value stored for key.

    See also

    get if you do not need the flags or the token.

    gets if you do not need the flags.

    getWithFlag if you do not need the token.

  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. def incr(key: String): Future[Option[Long]]

    Increment the key by 1.

    Increment the key by 1.

    Interprets the stored value for key as a Long if it is parseable as a decimal representation of a 64-bit unsigned integer.

    This operation has no effect if there is no value there already.

  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  30. def prepend(key: String, value: T): Future[Boolean]

    Prepend a set of bytes to the beginning of an existing key.

    Prepend a set of bytes to the beginning of an existing key. If the key doesn't exist, the operation has no effect.

    Neither flags nor expiry are supplied.

    returns

    true if stored, false if not stored

  31. def quit(): Future[Unit]

    Send a quit command to the server.

    Send a quit command to the server. Alternative to release, for protocol compatibility.

  32. def replace(key: String, value: T): Future[Boolean]

    Replace an item if it exists.

    Replace an item if it exists. If it doesn't exist, the operation has no effect.

    Neither flags nor expiry are supplied.

    returns

    true if stored, false if not stored

  33. def set(key: String, value: T): Future[Unit]

    Store a key.

    Store a key. Override an existing values.

    Neither flags nor expiry are supplied.

  34. def stats(): Future[Seq[String]]

    Send a stats command to the server.

    Send a stats command to the server.

    returns

    a sequence of strings, each of which is a line of output

  35. def stats(args: String): Future[Seq[String]]

    Send a stats command with the given args to the server.

    Send a stats command with the given args to the server.

    returns

    a sequence of strings, each of which is a line of output

  36. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  37. def toString(): String
    Definition Classes
    AnyRef → Any
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Closable

Inherited from AnyRef

Inherited from Any

Ungrouped