pub struct MemoryCacheDriver { /* private fields */ }Expand description
内存缓存驱动(对齐 PHP think\cache\driver\File)
基于 sz_orm_core::MemoryCache,提供进程内内存缓存。
§PHP 对齐
PHP think\cache\driver\File 使用文件系统存储缓存,序列化为 PHP 字符串
加 <?php exit();?> 头部防护。本驱动使用内存 HashMap,简化文件 IO,
但保留 PHP think-orm 的核心行为:
get:TTL 过期返回Noneset:支持 TTLhas:TTL 过期返回falseinc/dec:读取 → 加减 → 写回(数字字符串)
Implementations§
Source§impl MemoryCacheDriver
impl MemoryCacheDriver
Sourcepub fn with_default_ttl(ttl: Duration) -> Self
pub fn with_default_ttl(ttl: Duration) -> Self
创建带默认 TTL 的内存缓存驱动
Trait Implementations§
Source§impl CacheDriver for MemoryCacheDriver
impl CacheDriver for MemoryCacheDriver
Source§fn set_raw(
&self,
key: &str,
value: Vec<u8>,
ttl: Option<Duration>,
) -> Result<(), CacheError>
fn set_raw( &self, key: &str, value: Vec<u8>, ttl: Option<Duration>, ) -> Result<(), CacheError>
写入缓存原始字节
Source§fn inc(&self, key: &str, step: i64) -> Result<i64, CacheError>
fn inc(&self, key: &str, step: i64) -> Result<i64, CacheError>
自增(对齐 PHP
inc,不经序列化层) Read moreSource§fn dec(&self, key: &str, step: i64) -> Result<i64, CacheError>
fn dec(&self, key: &str, step: i64) -> Result<i64, CacheError>
自减(对齐 PHP
dec,不经序列化层) Read moreSource§fn tag_append(&self, tag_key: &str, cache_key: &str) -> Result<(), CacheError>
fn tag_append(&self, tag_key: &str, cache_key: &str) -> Result<(), CacheError>
Auto Trait Implementations§
impl Freeze for MemoryCacheDriver
impl RefUnwindSafe for MemoryCacheDriver
impl Send for MemoryCacheDriver
impl Sync for MemoryCacheDriver
impl Unpin for MemoryCacheDriver
impl UnsafeUnpin for MemoryCacheDriver
impl UnwindSafe for MemoryCacheDriver
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.