pub struct Script { /* private fields */ }
Expand description
Represents a lua script.
Implementations§
Source§impl Script
The script object represents a lua script that can be executed on the
redis server. The object itself takes care of automatic uploading and
execution. The script object itself can be shared and is immutable.
impl Script
The script object represents a lua script that can be executed on the redis server. The object itself takes care of automatic uploading and execution. The script object itself can be shared and is immutable.
Example:
let script = redis::Script::new(r"
return tonumber(ARGV[1]) + tonumber(ARGV[2]);
");
let result = script.arg(1).arg(2).invoke(&mut con);
assert_eq!(result, Ok(3));
Sourcepub fn load(&self, con: &mut dyn ConnectionLike) -> RedisResult<String>
pub fn load(&self, con: &mut dyn ConnectionLike) -> RedisResult<String>
Loads the script and returns the SHA1 of it.
Sourcepub async fn load_async<C>(&self, con: &mut C) -> RedisResult<String>where
C: ConnectionLike,
pub async fn load_async<C>(&self, con: &mut C) -> RedisResult<String>where
C: ConnectionLike,
Asynchronously loads the script and returns the SHA1 of it.
Sourcepub fn key<T: ToRedisArgs>(&self, key: T) -> ScriptInvocation<'_>
pub fn key<T: ToRedisArgs>(&self, key: T) -> ScriptInvocation<'_>
Creates a script invocation object with a key filled in.
Sourcepub fn arg<T: ToRedisArgs>(&self, arg: T) -> ScriptInvocation<'_>
pub fn arg<T: ToRedisArgs>(&self, arg: T) -> ScriptInvocation<'_>
Creates a script invocation object with an argument filled in.
Sourcepub fn prepare_invoke(&self) -> ScriptInvocation<'_>
pub fn prepare_invoke(&self) -> ScriptInvocation<'_>
Returns an empty script invocation object. This is primarily useful
for programmatically adding arguments and keys because the type will
not change. Normally you can use arg
and key
directly.
Sourcepub fn invoke<T: FromRedisValue>(
&self,
con: &mut dyn ConnectionLike,
) -> RedisResult<T>
pub fn invoke<T: FromRedisValue>( &self, con: &mut dyn ConnectionLike, ) -> RedisResult<T>
Invokes the script directly without arguments.
Sourcepub async fn invoke_async<C, T>(&self, con: &mut C) -> RedisResult<T>where
C: ConnectionLike,
T: FromRedisValue,
pub async fn invoke_async<C, T>(&self, con: &mut C) -> RedisResult<T>where
C: ConnectionLike,
T: FromRedisValue,
Asynchronously invokes the script without arguments.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Script
impl RefUnwindSafe for Script
impl Send for Script
impl Sync for Script
impl Unpin for Script
impl UnwindSafe for Script
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more