#redis #redis-server #orm #ohm

ohmers

一个用于在Redis服务器中检索和存储对象的库

2个版本

使用旧的Rust 2015

0.1.1 2015年10月25日
0.1.0 2015年8月30日

#22 in #redis-server

自定义许可

76KB
1.5K SLoC

ohmers

Build Status

一个用于在Redis服务器中检索和存储对象的库。

这个包名为ohmers,您可以通过cargo依赖它

[dependencies]
ohmers = "0.1.0"

示例

#[macro_use(model, create, insert)] extern crate ohmers;
extern crate rustc_serialize;
extern crate redis;
use ohmers::*;

model!(Event {
    indices {
        name:String = "My Event".to_string();
    };
    venue:Reference<Venue> = Reference::new();
    participants:Set<Person> = Set::new();
    votes:Counter = Counter;
});

model!(Venue {
    name:String = "My Venue".to_string();
    events:Set<Event> = Set::new();
});

model!(Person {
    name:String = "A Person".to_string();
});

fn main() {
    let client = redis::Client::open("redis://127.0.0.1/").unwrap();
    let p1 = create!(Person { name: "Alice".to_string(), }, &client).unwrap();
    let p2 = create!(Person { name: "Bob".to_string(), }, &client).unwrap();
    let p3 = create!(Person { name: "Charlie".to_string(), }, &client).unwrap();

    let v1 = create!(Venue { name: "Home".to_string(), }, &client).unwrap();
    let v2 = create!(Venue { name: "Work".to_string(), }, &client).unwrap();

    let mut e1 = create!(Event { name: "Birthday Party".to_string(), }, &client).unwrap();
    insert!(e1.participants, p1, &client).unwrap();
    insert!(e1.participants, p2, &client).unwrap();
    insert!(e1.participants, p3, &client).unwrap();
    e1.venue.set(&v1);
    e1.save(&client).unwrap();

    let mut e2 = create!(Event { name: "Work Meeting".to_string(), }, &client).unwrap();
    insert!(e2.participants, p1, &client).unwrap();
    insert!(e2.participants, p2, &client).unwrap();
    e2.venue.set(&v2);
    e2.save(&client).unwrap();
}

文档

有关所有可用函数和参数的更全面文档,请访问http://seppo0010.github.io/ohmers/

依赖项

~6MB
~148K SLoC