Trait redis_graph::GraphCommands
source · pub trait GraphCommands: ConnectionLike + Sized {
// Provided methods
fn graph_query<K: ToRedisArgs, Q: ToRedisArgs>(
&mut self,
key: K,
query: Q
) -> RedisResult<GraphResultSet> { ... }
fn graph_ro_query<K: ToRedisArgs, Q: ToRedisArgs>(
&mut self,
key: K,
query: Q
) -> RedisResult<GraphResultSet> { ... }
fn graph_profile<K: ToRedisArgs, Q: ToRedisArgs, RV: FromRedisValue>(
&mut self,
key: K,
query: Q
) -> RedisResult<RV> { ... }
fn graph_delete<K: ToRedisArgs>(&mut self, key: K) -> RedisResult<String> { ... }
fn graph_explain<K: ToRedisArgs, Q: ToRedisArgs, RV: FromRedisValue>(
&mut self,
key: K,
query: Q
) -> RedisResult<RV> { ... }
fn graph_slowlog<K: ToRedisArgs>(
&mut self,
key: K
) -> RedisResult<Vec<SlowLogEntry>> { ... }
fn graph_config_set<K: ToRedisArgs, V: ToRedisArgs>(
&mut self,
name: K,
value: V
) -> RedisResult<bool> { ... }
fn graph_config_get<K: ToRedisArgs, RV: FromRedisValue>(
&mut self,
name: K
) -> RedisResult<RV> { ... }
fn graph_config_get_all(&mut self) -> RedisResult<GraphConfig> { ... }
}
Expand description
Provides a high level synchronous API to work with Redis graph data types. The graph command becomes directly available on ConnectionLike types from the redis crate when you import the GraphCommands trait.
use redis::Commands;
use redis_graph::{GraphCommands, GraphResultSet};
let client = redis::Client::open("redis://127.0.0.1/")?;
let mut con = client.get_connection()?;
let res:GraphResultSet = con.graph_query(
"my_graph",
"CREATE (:Rider {name:'Valentino Rossi'})-[:rides]->(:Team {name:'Yamaha'})"
)?;
let res_read_only:GraphResultSet = con.graph_ro_query(
"my_graph",
"MATCH (rider:Rider)-[:rides]->(:Team {name:'Yamaha'}) RETURN rider"
)?;