想做一个以文件为存储介质的key,value系统,不知道有什么好思路
时间:2011-12-16
来源:互联网
不知道要用什么数据结构比较好
希望实现简单,效率又不要太低
作者: kingstarer 发布时间: 2011-12-16
该回复于2011-12-16 11:33:30被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#2楼 得分:0回复于:2011-12-16 11:35:02
|
作者: shayla 发布时间: 2011-12-16

作者: Demon__Hunter 发布时间: 2011-12-16
glib中的hashtable就可以作为内存操作的数据结构的
作者: Demon__Hunter 发布时间: 2011-12-16
c++ std::map
里面用红黑树实现的 O(log n)时间内做查找,插入和删除 应该可以吧
红黑数在文件里面不好实现吧?(数据量比较大,放不进内存)
我现在想采hash来实现,用文件指针代替内存指针
但是不知道修改的时候怎么处理,因为修改value值,可能导致占用空间比原来的大。
目前想到的方法是放弃原空间,重新申请空间,但是这样在修改删除操作时比较浪费空间
================================
各位有没有好的解决方法 或者有没有更好的数据结构?
作者: mscf 发布时间: 2011-12-16
内存中的方法貌似都不适用。是不是可以研究SQLite源代码看看。
作者: kingstarer 发布时间: 2011-12-16
作者: shayla 发布时间: 2011-12-16
引用 2 楼 demon__hunter 的回复:
c++ std::map
里面用红黑树实现的 O(log n)时间内做查找,插入和删除 应该可以吧
红黑数在文件里面不好实现吧?(数据量比较大,放不进内存)
我现在想采hash来实现,用文件指针代替内存指针
但是不知道修改的时候怎么处理,因为修改value值,可能导致占用空间比原来的大。
目前想到的方法是放弃原空间,重……
操作是在内存里,需要做一个 map内存<-->文件 序列化/反序列化的操作
作者: shayla 发布时间: 2011-12-16
作者: Demon__Hunter 发布时间: 2011-12-16
如果单纯是个缓存层,可以用memcached。
作者: mLee79 发布时间: 2011-12-16
引用 5 楼 kingstarer 的回复:
引用 2 楼 demon__hunter 的回复:
c++ std::map
里面用红黑树实现的 O(log n)时间内做查找,插入和删除 应该可以吧
红黑数在文件里面不好实现吧?(数据量比较大,放不进内存)
我现在想采hash来实现,用文件指针代替内存指针
但是不知道修改的时候怎么处理,因为修改value值,可能导致占用空间比……
数据太大了 放不到内存
不放数据库,是因为数据库主机压力太大了。 不得不拆分部分功能自己实现
作者: qq120848369 发布时间: 2011-12-16
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28