Struct testcontainers_modules::redis::Redis
source · pub struct Redis;
Available on crate feature
redis
only.Expand description
Module to work with Redis
inside of tests.
Starts an instance of Redis based on the official Redis docker image
.
By default Redis is exposed on Port 6379 (REDIS_PORT
) and has no access control. Please refer to the Redis reference guide
for more informations on how to interact with the API.
§Example
use redis::Commands;
use testcontainers::clients;
use testcontainers_modules::redis::{Redis, REDIS_PORT};
let docker = clients::Cli::default();
let redis_instance = docker.run(Redis::default());
let host_port = redis_instance.get_host_port_ipv4(REDIS_PORT);
let url = format!("redis://127.0.0.1:{host_port}");
let client = redis::Client::open(url.as_ref()).unwrap();
let mut con = client.get_connection().unwrap();
con.set::<_, _, ()>("my_key", 42).unwrap();
let result: i64 = con.get("my_key").unwrap();
Trait Implementations§
source§impl Image for Redis
impl Image for Redis
source§fn tag(&self) -> String
fn tag(&self) -> String
Implementations are encouraged to include a tag that will not change (i.e. NOT latest)
in order to prevent test code from randomly breaking because the underlying docker
suddenly changed.
source§fn ready_conditions(&self) -> Vec<WaitFor>
fn ready_conditions(&self) -> Vec<WaitFor>
Returns a list of conditions that need to be met before a started container is considered ready. Read more
source§fn env_vars(&self) -> Box<dyn Iterator<Item = (&String, &String)> + '_>
fn env_vars(&self) -> Box<dyn Iterator<Item = (&String, &String)> + '_>
There are a couple of things regarding the environment variables of images: Read more
source§fn volumes(&self) -> Box<dyn Iterator<Item = (&String, &String)> + '_>
fn volumes(&self) -> Box<dyn Iterator<Item = (&String, &String)> + '_>
There are a couple of things regarding the volumes of images: Read more
source§fn entrypoint(&self) -> Option<String>
fn entrypoint(&self) -> Option<String>
Returns the entrypoint this instance was created with.
source§fn expose_ports(&self) -> Vec<u16>
fn expose_ports(&self) -> Vec<u16>
Returns the ports that needs to be exposed when a container is created. Read more
source§fn exec_after_start(&self, cs: ContainerState) -> Vec<ExecCommand>
fn exec_after_start(&self, cs: ContainerState) -> Vec<ExecCommand>
Returns the commands that needs to be executed after a container is started i.e. commands
to be run in a running container. Read more
Auto Trait Implementations§
impl RefUnwindSafe for Redis
impl Send for Redis
impl Sync for Redis
impl Unpin for Redis
impl UnwindSafe for Redis
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more