2个版本
使用旧的Rust 2015
0.1.1 | 2017年11月3日 |
---|---|
0.1.0 | 2017年10月26日 |
在 数据库接口 中排名 #2339
36KB
709 代码行
redif-rs
Rust版本的Redis协议服务器框架
Redif是一个框架,它使用Redis协议进行数据传输,并调用用户提供的处理器来处理请求。用户需要实现处理器特性,并使用 redif::run(端口,处理器) 来调用Redif。
例如
extern crate redif;
use std::sync::{Arc,Mutex};
use redif::{Value, Handler};
// implement Handler trait
struct Store {
kv : HashMap<String, String>,
}
impl Handler for Store {
fn handle(&mut self, data: &Value) -> Option<Value> {
/// ...
}
}
fn main() {
let port = 4344u16;
let store = Store::new();
let handler = Arc::new(Mutex::new(store));
// call redif::run() with port and handler
if let Err(ref e) = redif::run( port, handler.clone() ) {
error!("ERROR {}", e);
std::process::exit(1);
}
}
examples/simple.rs 是一个简单的示例。
lib.rs
:
redif — Redis协议服务器框架
Redif是一个框架,它使用Redis协议进行数据传输,并调用用户提供的处理器来处理请求。用户需要实现处理器特性,并使用 redif::run(端口,处理器) 来调用Redif。
例如
extern crate redif;
use std::sync::{Arc,Mutex};
use redif::{Value, Handler};
// implement Handler trait
struct Store {
kv : HashMap<String, String>,
}
impl Handler for Store {
fn handle(&mut self, data: &Value) -> Option<Value> {
/// ...
}
}
fn main() {
let port = 4344u16;
let store = Store::new();
let handler = Arc::new(Mutex::new(store));
// call redif::run() with port and handler
if let Err(ref e) = redif::run( port, handler.clone() ) {
error!("ERROR {}", e);
std::process::exit(1);
}
}
依赖
~2MB
~41K SLoC