[][src]Struct memcache::Client

pub struct Client {
    pub hash_function: fn(_: &str) -> u64,
    // some fields omitted
}

Fields

hash_function: fn(_: &str) -> u64

Methods

impl Client[src]

pub fn new<C: Connectable>(target: C) -> Result<Self, MemcacheError>[src]

Deprecated since 0.10.0:

please use connect instead

pub fn connect<C: Connectable>(target: C) -> Result<Self, MemcacheError>[src]

pub fn set_read_timeout(
    &mut self,
    timeout: Option<Duration>
) -> Result<(), MemcacheError>
[src]

Set the socket read timeout for TCP connections.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.set_read_timeout(Some(::std::time::Duration::from_secs(3))).unwrap();

pub fn set_write_timeout(
    &mut self,
    timeout: Option<Duration>
) -> Result<(), MemcacheError>
[src]

Set the socket write timeout for TCP connections.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345?protocol=ascii").unwrap();
client.set_write_timeout(Some(::std::time::Duration::from_secs(3))).unwrap();

pub fn version(&mut self) -> Result<Vec<(String, String)>, MemcacheError>[src]

Get the memcached server version.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.version().unwrap();

pub fn flush(&mut self) -> Result<(), MemcacheError>[src]

Flush all cache on memcached server immediately.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.flush().unwrap();

pub fn flush_with_delay(&mut self, delay: u32) -> Result<(), MemcacheError>[src]

Flush all cache on memcached server with a delay seconds.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.flush_with_delay(10).unwrap();

pub fn get<V: FromMemcacheValueExt>(
    &mut self,
    key: &str
) -> Result<Option<V>, MemcacheError>
[src]

Get a key from memcached server.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
let _: Option<String> = client.get("foo").unwrap();

pub fn gets<V: FromMemcacheValueExt>(
    &mut self,
    keys: &[&str]
) -> Result<HashMap<String, V>, MemcacheError>
[src]

Get multiple keys from memcached server. Using this function instead of calling get multiple times can reduce netwark workloads.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.set("foo", "42", 0).unwrap();
let result: std::collections::HashMap<String, String> = client.gets(&["foo", "bar", "baz"]).unwrap();
assert_eq!(result.len(), 1);
assert_eq!(result["foo"], "42");

pub fn set<V: ToMemcacheValue<Stream>>(
    &mut self,
    key: &str,
    value: V,
    expiration: u32
) -> Result<(), MemcacheError>
[src]

Set a key with associate value into memcached server with expiration seconds.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.set("foo", "bar", 10).unwrap();

pub fn cas<V: ToMemcacheValue<Stream>>(
    &mut self,
    key: &str,
    value: V,
    expiration: u32,
    cas_id: u64
) -> Result<bool, MemcacheError>
[src]

Compare and swap a key with the associate value into memcached server with expiration seconds. cas_id should be obtained from a previous gets call.

Example:

use std::collections::HashMap;
let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.set("foo", "bar", 10).unwrap();
let result: HashMap<String, (Vec<u8>, u32, Option<u64>)> = client.gets(&["foo"]).unwrap();
let (_, _, cas) = result.get("foo").unwrap();
let cas = cas.unwrap();
assert_eq!(true, client.cas("foo", "bar2", 10, cas).unwrap());

pub fn add<V: ToMemcacheValue<Stream>>(
    &mut self,
    key: &str,
    value: V,
    expiration: u32
) -> Result<(), MemcacheError>
[src]

Add a key with associate value into memcached server with expiration seconds.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
let key = "add_test";
client.delete(key).unwrap();
client.add(key, "bar", 100000000).unwrap();

pub fn replace<V: ToMemcacheValue<Stream>>(
    &mut self,
    key: &str,
    value: V,
    expiration: u32
) -> Result<(), MemcacheError>
[src]

Replace a key with associate value into memcached server with expiration seconds.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
let key = "replace_test";
client.set(key, "bar", 0).unwrap();
client.replace(key, "baz", 100000000).unwrap();

pub fn append<V: ToMemcacheValue<Stream>>(
    &mut self,
    key: &str,
    value: V
) -> Result<(), MemcacheError>
[src]

Append value to the key.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
let key = "key_to_append";
client.set(key, "hello", 0).unwrap();
client.append(key, ", world!").unwrap();
let result: String = client.get(key).unwrap().unwrap();
assert_eq!(result, "hello, world!");

pub fn prepend<V: ToMemcacheValue<Stream>>(
    &mut self,
    key: &str,
    value: V
) -> Result<(), MemcacheError>
[src]

Prepend value to the key.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
let key = "key_to_append";
client.set(key, "world!", 0).unwrap();
client.prepend(key, "hello, ").unwrap();
let result: String = client.get(key).unwrap().unwrap();
assert_eq!(result, "hello, world!");

pub fn delete(&mut self, key: &str) -> Result<bool, MemcacheError>[src]

Delete a key from memcached server.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.delete("foo").unwrap();

pub fn increment(
    &mut self,
    key: &str,
    amount: u64
) -> Result<u64, MemcacheError>
[src]

Increment the value with amount.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.increment("counter", 42).unwrap();

pub fn decrement(
    &mut self,
    key: &str,
    amount: u64
) -> Result<u64, MemcacheError>
[src]

Decrement the value with amount.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
client.decrement("counter", 42).unwrap();

pub fn touch(
    &mut self,
    key: &str,
    expiration: u32
) -> Result<bool, MemcacheError>
[src]

Set a new expiration time for a exist key.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
assert_eq!(client.touch("not_exists_key", 12345).unwrap(), false);
client.set("foo", "bar", 123).unwrap();
assert_eq!(client.touch("foo", 12345).unwrap(), true);

pub fn stats(
    &mut self
) -> Result<Vec<(String, HashMap<String, String>)>, MemcacheError>
[src]

Get all servers' statistics.

Example:

let mut client = memcache::Client::connect("memcache://localhost:12345").unwrap();
let stats = client.stats().unwrap();

Auto Trait Implementations

impl RefUnwindSafe for Client

impl Send for Client

impl Sync for Client

impl Unpin for Client

impl UnwindSafe for Client

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,