2个版本

使用旧的Rust 2015

0.1.1 2017年11月3日
0.1.0 2017年10月26日

数据库接口 中排名 #2339

MIT 协议

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