sled怎么使用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍了sled怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇sled怎么使用文章都会有所收获,下面我们一起来看看吧。简介Sled 是基于Bw树构建的嵌
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
淮安创新软件开发
网络安全是为了保障
奉贤区营销软件开发报价表
服务器管理器怎么关闭
数据库如何统计空值和1
传统行业中的软件开发
数据库软件使用视频教程
上海北大青鸟软件开发培训中心
对象数据库模型中
网络安全检测培训教材
南充高密度存储服务器费用
两千字软件开发总结
开封互助盘资金盘软件开发公司
杨浦区服务器回收推荐厂家
平面设计与软件开发工资
大脚插件获取数据库设置
服务器没有存储空间怎么办
cs连接数据库实验总结
瀛海的网络安全产业园
介休租房网络安全
魔兽世界 回音山服务器
第八届网络安全宣传周活动方案
乌班图服务器安装使用
数据库gx
101打印机服务器
我的世界服务器主城出生点怎么建
都有哪些网络安全的技术
战地1行动模式 服务器
软件开发工作室是做什么
科技互联网发布会视频