sled怎么使用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了sled怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇sled怎么使用文章都会有所收获,下面我们一起来看看吧。简介Sled 是基于Bw树构建的嵌
千家信息网最后更新 2026年11月03日sled怎么使用Sled 是基于Bw树构建的嵌入式KV数据库,其API接近于一个线程安全的BTreeMap<[u8], [u8]>。而其Bw树的数据结构加上包括crossbeam-epoch的"GC"等技术,使得Sled成为一个lock-free的数据库而在并发环境中傲视群雄。忘记那些慢吞吞的锁吧~ 而官方宣称在一台16核的机器上,在一个小数据集上可以达到每分钟10亿次操作(95%读核5%写) 要使用sled,只需要在Cargo.toml中加入 基础用法 处理结构体
这篇文章主要介绍了sled怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇sled怎么使用文章都会有所收获,下面我们一起来看看吧。
简介
sled = "0.32"
例子
打开数据库let tree = sled::open("/tmp/welcome-to-sled").expect("open");// 插入KV,读取Key对应的值tree.insert("KEY1", "VAL1");assert_eq!(tree.get(&"KEY1"), Ok(Some(sled::IVec::from("VAL1"))));// 范围查询for kv in tree.range("KEY1".."KEY9") {...}// 删除tree.remove(&"KEY1");// atomic compare and swap,可以用在并发编程中tree.compare_and_swap("KEY1", Some("VAL1"), Some("VAL2"));// 阻塞直到所有修改都写入硬盘tree.flush();
use {byteorder::{BigEndian, LittleEndian},zerocopy::{byteorder::U64, AsBytes, FromBytes, LayoutVerified, Unaligned,},};// 键结构体// zerocopy::byteorder::U64保证了数据对齐问题#[derive(FromBytes, AsBytes, Unaligned)]#[repr(C)]struct Key {a: U64, b: U64, }// 值结构体#[derive(FromBytes, AsBytes, Unaligned)]#[repr(C)]struct Value {count: U64, whatever: [u8; 16],}let key = Key { a: U64::new(21), b: U64::new(890) };// 取得键所对应的值,并对其施加给定函数灿做db.update_and_fetch(key.as_bytes(), |value_opt| {if let Some(existing) = value_opt {let mut backing_bytes = sled::IVec::from(existing);// 验证数据对齐(这里其实不是必须的,因为我们使用了U64)let layout: LayoutVerified<&mut [u8], Value> =LayoutVerified::new_unaligned(&mut *backing_bytes).expect("bytes do not fit schema");// 得到底层数据的可变引用let value: &mut Value = layout.into_mut();let new_count = value.count.get() + 1;println!("incrementing count to {}", new_count);value.count.set(new_count);Some(backing_bytes)} else {println!("setting count to 0");// 初始化一个ValueSome(sled::IVec::from(Value { count: U64::new(0), whatever: [0; 16] }.as_bytes(),))}})?;
关于"sled怎么使用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"sled怎么使用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
数据
结构
数据库
知识
内容
篇文章
安全
价值
例子
函数
基础
官方
嵌入式
底层
技术
操作简单
数据结构
文章
易懂
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
互联网科技会
互联网金融与金融科技
致骋互联网科技
碳银互联网科技有限公司
成都仁贤领冠互联网科技有限公司
深圳互联网科技怎么样
工业互联网山东科技大学
山东星卡互联网科技有限公司官网
广州富喜互联网络科技
互联网科技资金流入
互联网领先科技宣传片
厦门江牛科技互联网
互联网科技手机排行榜
互联网金融运营模式中的金融科技
同城互联网络科技
福仕德教育科技互联网
青岛易易互联网科技
网互联网络科技
互联网科技企业文化
广州为想互联网科技有限公司
国智互联网科技
互联网科技logo
广州善班互联网科技
互联网科技网站
互联网汽车科技小镇
互联网科技有哪些公司
广州互联网高科技取餐柜
黑龙江互联网科技公司
恒生科技互联网指数十大成分股