1 个稳定版本
1.0.0 | 2023年9月9日 |
---|
#233 in 缓存
在 rive 中使用
140KB
3K SLoC
rive-cache-inmemory
rive-cache-inmemory
是 Rive 生态系统内存缓存的一个实现。它仅用于当前进程。
它处理传入的事件,并根据事件类型和数据添加/修改/删除资源。
还有一个简单的API,可以遍历资源实体并获取缓存统计信息(例如存储的用户数量)。
示例
使用网关传入的事件更新缓存
use futures::StreamExt;
use std::{env, error::Error};
use rive_cache_inmemory::InMemoryCache;
use rive_gateway::Gateway;
use rive_models::authentication::Authentication;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let auth = Authentication::SessionToken(env::var("TOKEN")?);
let mut gateway = Gateway::connect(auth).await?;
// Create a cache with messages and emojis caching disabled:
let cache = InMemoryCache::builder()
.cache_messages(false)
.cache_emojis(false)
.build();
while let Some(event) = gateway.next().await {
let event = event?;
// Update the cache with the event:
cache.update(&event);
}
Ok(())
}
依赖项
~2.6–9MB
~77K SLoC