导入依赖
[dependencies]
lazy_static = "1.4.0" # 请确保使用最新版本
定义
use tokio::sync::RwLock;
use std::sync::Arc;
#[derive(Clone)]
struct News {
title: String,
content: String,
}
lazy_static::lazy_static! {
static ref NEWS_CACHE: Arc<RwLock<Vec<News>>> = Arc::new(RwLock::new(Vec::new()));
}
读写
pub async fn get_news() -> Vec<News> {
let cache = NEWS_CACHE.read().await;
cache.clone()
}
pub async fn update_news(news: Vec<News>) {
let mut cache = NEWS_CACHE.write().await;
*cache = news;
}