Crate redis_module

source ·





  • An object represent ACL permissions. Used to check ACL permission using acl_check_key_permission.
  • Context is a structure that’s designed to give us a high-level interface to the Redis module API by abstracting away the raw C FFI calls.
  • This struct allows logging when the Redis GIL is not acquired. It is implemented Send and Sync so it can safely be used from within different threads.
  • This object is returned after locking Redis from DetachedContext. On dispose, Redis will be unlocked. This object implements Deref for Context so it can be used just like any Redis Context for command invocation. This object should not be used to return replies because there is no real client behind this context to return replies to.
  • A ThreadSafeContext can either be bound to a blocked client, or detached from any client.
  • A future call reply struct that will be return in case the module invoke a blocking command using [call_blocking]. This struct can be used to set unblock handler. Notice that the struct can not outlive the `ctx lifetime, This is because the future handler must be set before the Redis GIL will be released.
  • A type for the key => bottom-level-value storage of an info section.
  • This struct allows to guard some data and makes sure the data is only access when the Redis GIL is locked. From example, assuming you module want to save some statistics inside some global variable, but without the need to protect this variable with some mutex (because we know this variable is protected by Redis lock). For example, look at examples/





  • Whenever the user gets a reference to a struct that implements this trait, it can assume that the Redis GIL is held. Any struct that implements this trait can be used to retrieve objects which are GIL protected (see RedisGILGuard for more information)


Type Aliases