1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-23 23:51:06 +01:00
actix-extras/actix-redis
2021-12-29 10:22:56 +00:00
..
examples fmt with new width 2021-08-30 23:27:44 +01:00
src update to actix web v4 beta 18 (#218) 2021-12-29 10:22:56 +00:00
tests fix actix-redis by revert most recent changes (#164) 2021-03-22 05:07:45 +00:00
Cargo.toml update to actix web v4 beta 18 (#218) 2021-12-29 10:22:56 +00:00
CHANGES.md update to actix web v4 beta 18 (#218) 2021-12-29 10:22:56 +00:00
LICENSE-APACHE merge project metadata 2020-01-30 00:31:25 +00:00
LICENSE-MIT merge project metadata 2020-01-30 00:31:25 +00:00
README.md bump msrv to 1.54 2021-12-29 09:42:31 +00:00

actix-redis

Redis integration for Actix and session store for Actix Web.

crates.io Documentation Apache 2.0 or MIT licensed Dependency Status

Documentation & Resources

Redis Session Backend

Use redis as session storage.

You need to pass an address of the redis server and random value to the constructor of RedisSession. This is private key for cookie session, When this value is changed, all session data is lost.

Note that whatever you write into your session is visible by the user (but not modifiable).

Constructor panics if key length is less than 32 bytes.

use actix_web::{App, HttpServer, middleware::Logger};
use actix_web::web::{resource, get}
use actix_redis::RedisSession;

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(move || App::new()
        // cookie session middleware
        .wrap(RedisSession::new("127.0.0.1:6379", &[0; 32]))
        // enable logger
        .wrap(Logger::default())
        // register simple route, handle all methods
        .service(resource("/").route(get().to(index)))
    )
    .bind("127.0.0.1:8080")?
    .run()
    .await
}