1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-30 18:34:36 +01:00
actix-extras/actix-redis/README.md

67 lines
2.4 KiB
Markdown
Raw Normal View History

2020-01-30 01:31:25 +01:00
# actix-redis
2018-01-23 08:16:24 +01:00
2020-01-30 02:14:55 +01:00
[![crates.io](https://img.shields.io/crates/v/actix-redis)](https://crates.io/crates/actix-redis)
[![Documentation](https://docs.rs/actix-redis/badge.svg)](https://docs.rs/actix-redis)
2020-02-18 00:01:26 +01:00
[![Dependency Status](https://deps.rs/crate/actix-redis/0.8.1/status.svg)](https://deps.rs/crate/actix-redis/0.8.1)
2020-01-30 02:14:55 +01:00
![Apache 2.0 or MIT licensed](https://img.shields.io/crates/l/actix-redis)
[![Join the chat at https://gitter.im/actix/actix](https://badges.gitter.im/actix/actix.svg)](https://gitter.im/actix/actix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
2020-01-30 01:31:25 +01:00
> Redis integration for actix framework.
2018-01-23 08:13:18 +01:00
## Documentation
2020-02-18 00:01:26 +01:00
* [API Documentation](https://actix.rs/actix-extras/actix_redis/)
2018-01-23 08:13:18 +01:00
* [Chat on gitter](https://gitter.im/actix/actix)
* Cargo package: [actix-redis](https://crates.io/crates/actix-redis)
2020-05-17 04:34:00 +02:00
* Minimum supported Rust version: 1.40 or later
2018-01-23 08:13:18 +01:00
2017-12-29 10:10:27 +01:00
## 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,
2017-12-29 10:10:27 +01:00
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.
2018-05-08 19:12:57 +02:00
```rust
2019-12-20 17:11:38 +01:00
use actix_web::{App, HttpServer, web, middleware};
2018-05-08 19:12:57 +02:00
use actix_web::middleware::session::SessionStorage;
use actix_redis::RedisSession;
2017-12-29 10:10:27 +01:00
2019-12-20 17:11:38 +01:00
#[actix_rt::main]
async fn main() -> std::io::Result {
HttpServer::new(|| App::new()
// enable logger
.middleware(middleware::Logger::default())
// cookie session middleware
.middleware(SessionStorage::new(
RedisSession::new("127.0.0.1:6379", &[0; 32])
2019-12-20 17:11:38 +01:00
))
// register simple route, handle all methods
.service(web::resource("/").to(index))
)
.bind("0.0.0.0:8080")?
.start()
.await
2017-12-29 10:10:27 +01:00
}
```
2018-01-23 07:50:04 +01:00
## License
This project is licensed under either of
2020-02-18 00:01:26 +01:00
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0))
* MIT license ([LICENSE-MIT](LICENSE-MIT) or [https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT))
2018-01-23 07:50:04 +01:00
at your option.
## Code of Conduct
2018-01-23 08:14:04 +01:00
Contribution to the actix-redis crate is organized under the terms of the
2018-01-23 07:50:04 +01:00
Contributor Covenant, the maintainer of actix-redis, @fafhrd91, promises to
intervene to uphold that code of conduct.