Browse Source

[salvo] Upgrade to version 0.53.0 (#8401)

Chrislearn Young 1 year ago
parent
commit
639fec4f29
2 changed files with 4 additions and 6 deletions
  1. 1 1
      frameworks/Rust/salvo/Cargo.toml
  2. 3 5
      frameworks/Rust/salvo/src/main_lru.rs

+ 1 - 1
frameworks/Rust/salvo/Cargo.toml

@@ -49,7 +49,7 @@ markup = "0.13"
 mongodb = { version = "2.4.0", features = ["zstd-compression", "snappy-compression", "zlib-compression"] }
 once_cell = "1"
 rand = { version = "0.8", features = ["min_const_gen", "small_rng"] }
-salvo = { version = "0.51", default-features = false, features = ["anyhow", "http1", "affix"] }
+salvo = { version = "0.53", default-features = false, features = ["anyhow", "http1", "affix"] }
 serde = { version = "1", features = ["derive"] }
 serde_json = "1"
 # smallvec = "1"

+ 3 - 5
frameworks/Rust/salvo/src/main_lru.rs

@@ -6,7 +6,6 @@
 use std::cmp;
 use std::num::NonZeroUsize;
 use std::sync::Arc;
-use std::sync::Mutex;
 use std::thread::available_parallelism;
 
 use anyhow::Error;
@@ -27,7 +26,7 @@ use models_pg::*;
 mod db_pg;
 use db_pg::PgConnection;
 
-static CACHED_WORLDS: OnceCell<Mutex<LruCache<usize, World>>> = OnceCell::new();
+static CACHED_WORLDS: OnceCell<LruCache<usize, World>> = OnceCell::new();
 
 static SERVER_HEADER: HeaderValue = HeaderValue::from_static("salvo");
 static JSON_HEADER: HeaderValue = HeaderValue::from_static("application/json");
@@ -41,8 +40,7 @@ fn cached_queries(req: &mut Request, res: &mut Response) -> Result<(), Error> {
     for _ in 0..count {
         let idx = rng.gen_range(0..10_000);
         unsafe {
-            let mut guard = CACHED_WORLDS.get_unchecked().lock().unwrap();
-            let w = guard.get(&idx).cloned().unwrap();
+            let w = CACHED_WORLDS.get_unchecked().peek(&idx).cloned().unwrap();
             worlds.push(w);
         }
     }
@@ -62,7 +60,7 @@ async fn populate_cache() -> Result<(), Error> {
     for (i, word) in worlds.into_iter().enumerate() {
         cache.put(i, word);
     }
-    CACHED_WORLDS.set(Mutex::new(cache)).unwrap();
+    CACHED_WORLDS.set(cache).unwrap();
     Ok(())
 }