如何用LFS文件系统存储key value
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章给大家介绍如何用LFS文件系统存储key value,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。有些人问 LFS 能不能存储 key value?单线程写的时候是可以的
千家信息网最后更新 2025年02月03日如何用LFS文件系统存储key value
这篇文章给大家介绍如何用LFS文件系统存储key value,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
有些人问 LFS 能不能存储 key value?
单线程写的时候是可以的,多线程读也是可以的。(嗯,可以考虑在未来增加并发写的功能。现在已经支持并发写啦。)
那么如何做呢?其实 key value 是一个哈希结构,正好,LFS 里支持哈希索引。
支持 key value 代表着,也可以通过文件名读写文件(只是没有文件夹的概念,但文件名依然可以是一个包含文件夹的路径名)。
注:下面的方法可以封装成更通用的接口来使用,这里这么做是为了让大家明白如何做
//set(key, value)Socket con = LFSConnection.getConnection();LFSByteArray lb = new LFSByteArray();//大家都已经习惯了封装好的 set(key, value) 形式,其实是可以的//把这段代码封装一下就可以了(这里的脚本只是为了提供更好的透明度,更深入了解细节)lb.setStatement("" + "local r = data_open(vars[0]);" + "if (r == 1) then;" + " local key = vars[1];" + " local value = vars[2];" //这是写唯一索引的工具 + " local iw = vars.indexWrite;" //设置要写的内容 + " iw.buffer = value;" //设置 key + " iw:setIndex(key);" //如果已经存在该 key 则不会再次进行写入,只返回指向内容的文件 ID + " local id = iw:write();" + " putLong(id)"; + "end;" + "");lb.putString(FILE_NAME);lb.putString("key");lb.putString("value");lb.writeTo(con);long id = lb.getLong(0);lb.clear();
get(key)
//get(key)Socket con = LFSConnection.getConnection();LFSByteArray lb = new LFSByteArray();lb.setStatement("" + "local r = data_open(vars[0]);" + "if (r == 1) then;" + " local key = vars[1];" + " local id = data_read_index(key, -1);" + " if (id >= 0) then;" + " data_read(id);" + " putBytes(vars.dataData, -1);" + " else;" + " putNull();" + " end;" + "end;" + "");lb.putString(FILE_NAME);lb.putString("key");lb.writeTo(con);byte[] value = lb.get(0);lb.clear();
关于如何用LFS文件系统存储key value就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文件
内容
存储
封装
支持
系统
只是
文件名
文件夹
更多
索引
线程
哈希
帮助
不错
代码
代表
兴趣
再次
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
普通网络安全常识知识选择题
安卓实验sqlite数据库
入选中国临床病案成果数据库
软件开发工资制度
数据库设计的基本依据
国内付费代理服务器
从事网络安全行业想转行
网警和网络安全专家
创造与魔法三个服务器
组织学习网络安全法简报
永不落幕的网络安全宣传
战地一怎么开行动服务器
金融 网络安全 监管
国三计算机网络技术
软件开发的技术总监工作权限
网络安全文明上网宣传片
黑魂三连接不上服务器怎么办
cscd科学引文数据库
qt软件开发 pdf
sybase数据库日志满了
魔域ms商店数据库
线上培训机构网络安全责任
小学生网络安全短信提醒
网络安全 英文介绍
金融 网络安全 监管
数据库只在参数变化时做记录
网络安全宣传周 直播
服务器关了还能ping到吗
医院网络安全追责制度
四川苹果软件开发定制费用