pub struct Client { /* private fields */ }
Expand description
High-level memcached client.
Client
is mapped one-to-one with a given connection to a memcached server, and provides a
high-level API for executing commands on that connection.
Implementations§
Source§impl Client
impl Client
Sourcepub async fn new<S: AsRef<str>>(dsn: S) -> Result<Client, Error>
pub async fn new<S: AsRef<str>>(dsn: S) -> Result<Client, Error>
Creates a new Client
based on the given data source string.
Supports UNIX domain sockets and TCP connections.
For TCP: the DSN should be in the format of tcp://<IP>:<port>
or <IP>:<port>
.
For UNIX: the DSN should be in the format of unix://<path>
.
Sourcepub async fn version(&mut self) -> Result<String, Error>
pub async fn version(&mut self) -> Result<String, Error>
Gets the version of the server.
If the version is retrieved successfully, String
is returned containing the version
component e.g. 1.6.7
, otherwise Error
is returned.
For some setups, such as those using Twemproxy, this will return an error as those intermediate proxies do not support the version command.
Sourcepub async fn dump_keys(&mut self) -> Result<MetadumpIter<'_>, Error>
pub async fn dump_keys(&mut self) -> Result<MetadumpIter<'_>, Error>
Dumps all keys from the server.
This operation scans all slab classes from tail to head, in a non-blocking fashion. Thus, not all items will be found as new items could be inserted or deleted while the crawler is still running.
MetadumpIter
must be iterated over to discover whether or not the crawler successfully
started, as this call will only return Error
if the command failed to be written to the
server at all.
Available as of memcached 1.4.31.
Sourcepub async fn stats(&mut self) -> Result<FxHashMap<String, String>, Error>
pub async fn stats(&mut self) -> Result<FxHashMap<String, String>, Error>
Collects statistics from the server.
The statistics that may be returned are detailed in the protocol specification for memcached, but all values returned by this method are returned as strings and are not further interpreted or validated for conformity.
Sourcepub async fn flush_all(&mut self) -> Result<(), Error>
pub async fn flush_all(&mut self) -> Result<(), Error>
Flushes all existing items on the server
This operation invalidates all existing items immediately. Any items with an update time older than the time of the flush_all operation will be ignored for retrieval purposes. This operation does not free up memory taken up by the existing items.
Trait Implementations§
Source§impl AsciiProtocol for Client
impl AsciiProtocol for Client
Source§async fn delete_no_reply<K>(&mut self, key: K) -> Result<(), Error>
async fn delete_no_reply<K>(&mut self, key: K) -> Result<(), Error>
Delete a key but don’t wait for a reply.
Source§async fn get<K: AsRef<[u8]>>(&mut self, key: K) -> Result<Option<Value>, Error>
async fn get<K: AsRef<[u8]>>(&mut self, key: K) -> Result<Option<Value>, Error>
Source§async fn get_multi<I, K>(&mut self, keys: I) -> Result<Vec<Value>, Error>
async fn get_multi<I, K>(&mut self, keys: I) -> Result<Vec<Value>, Error>
Source§async fn get_many<I, K>(&mut self, keys: I) -> Result<Vec<Value>, Error>
async fn get_many<I, K>(&mut self, keys: I) -> Result<Vec<Value>, Error>
get_multi
, and will be removed in the future.