Struct forceps::CacheBuilder [−][src]
pub struct CacheBuilder { /* fields omitted */ }
Expand description
Implementations
impl CacheBuilder
[src]
impl CacheBuilder
[src]pub fn new<P: AsRef<Path>>(path: P) -> Self
[src]
pub fn new<P: AsRef<Path>>(path: P) -> Self
[src]Creates a new CacheBuilder
, which can be used to customize and create a Cache
instance.
The path
supplied is the base directory of the cache instance.
Examples
use forceps::CacheBuilder; let builder = CacheBuilder::new("./cache"); // Use other methods for configuration
pub fn dir_depth(self, depth: u8) -> Self
[src]
pub fn dir_depth(self, depth: u8) -> Self
[src]Sets the depth of directories created in the cache folder.
Default is 2
This will set the depth of folders created and expected when reading and writing to the database. Increasing this value could increase the time to write to the database.
Breaking Warning
Changing this value on a live database without migrations will cause the database read
operations to essentially skip over the data. This means that all data will be
inaccessible, despite the metadata being accessible.
pub fn memory_lru_max_size(self, size: usize) -> Self
[src]
pub fn memory_lru_max_size(self, size: usize) -> Self
[src]Sets the maximum size (in bytes) for the in-memory Least-Recently-Used cache.
Default is 0
Setting this above 0
will create an in-memory store for recently-used entries. This will
use up more RAM, but will also significantly increase speed on memcache HIT
s.
pub fn read_write_buffer(self, size: usize) -> Self
[src]
pub fn read_write_buffer(self, size: usize) -> Self
[src]Changes the in-memory buffer sizes for reading and writing fs
operations.
Default is 8kb
(8196
)
Increasing this value may benefit performance as more bulk reading is involved. However, this option completely depends on the size of the data you are reading/writing.
pub fn track_access(self, toggle: bool) -> Self
[src]
pub fn track_access(self, toggle: bool) -> Self
[src]If set to true
, this will track track the total hits and the last time an entry was
accessed in the metadata.
Default is false
Be warned, turning this on will cause blocking metadata database calls to occur on read
operations. This does not normally occur and can cause problems for async
applications.
Trait Implementations
impl Clone for CacheBuilder
[src]
impl Clone for CacheBuilder
[src]fn clone(&self) -> CacheBuilder
[src]
fn clone(&self) -> CacheBuilder
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for CacheBuilder
[src]
impl Debug for CacheBuilder
[src]impl Default for CacheBuilder
[src]
impl Default for CacheBuilder
[src]fn default() -> Self
[src]
fn default() -> Self
[src]Creates a CacheBuilder
with the directory set to ./cache
.
Examples
use forceps::CacheBuilder; let cache = CacheBuilder::default() .build() .await .unwrap();
Auto Trait Implementations
impl RefUnwindSafe for CacheBuilder
impl Send for CacheBuilder
impl Sync for CacheBuilder
impl Unpin for CacheBuilder
impl UnwindSafe for CacheBuilder
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,