pub struct CacheUtil;Expand description
Cache utility for Solana RPC calls
Implementations§
Source§impl CacheUtil
impl CacheUtil
Sourcepub async fn get_account(
config: &Config,
rpc_client: &RpcClient,
pubkey: &Pubkey,
force_refresh: bool,
) -> Result<Account, KoraError>
pub async fn get_account( config: &Config, rpc_client: &RpcClient, pubkey: &Pubkey, force_refresh: bool, ) -> Result<Account, KoraError>
Get account from cache with optional force refresh
Sourcepub async fn get_or_fetch_latest_blockhash(
config: &Config,
rpc_client: &RpcClient,
) -> Result<Hash, KoraError>
pub async fn get_or_fetch_latest_blockhash( config: &Config, rpc_client: &RpcClient, ) -> Result<Hash, KoraError>
Get the latest blockhash, using Redis cache when available.
Reduces RPC load by caching the blockhash with a short TTL (5s). If the cache is unavailable or errors occur, falls back to a direct RPC call.
Auto Trait Implementations§
impl Freeze for CacheUtil
impl RefUnwindSafe for CacheUtil
impl Send for CacheUtil
impl Sync for CacheUtil
impl Unpin for CacheUtil
impl UnsafeUnpin for CacheUtil
impl UnwindSafe for CacheUtil
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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 moreCreates a shared type from an unshared type.