社区
C++ 语言
帖子详情
C++高速数据缓存设计方案
dreamlins
2008-03-18 10:42:16
小弟正用c++设计一个数据输入输出的接口,从数据库中取出数据给用户使用,及更新数据库的表记录,现需要一个高速数据缓存区,即先把数据库记录取出,缓存在本地。供用户快速使用,寻求高效解决方案。谢谢!
...全文
1024
31
打赏
收藏
C++高速数据缓存设计方案
小弟正用c++设计一个数据输入输出的接口,从数据库中取出数据给用户使用,及更新数据库的表记录,现需要一个高速数据缓存区,即先把数据库记录取出,缓存在本地。供用户快速使用,寻求高效解决方案。谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
31 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
那一年我们21
2012-08-03
打赏
举报
回复
[Quote=引用 10 楼 的回复:]
to: Supper_Jerry
hashmap是高效,但查询条件很局限
to: laolaoliu2002
Memorycache是java里面的吧?c++里怎用?
[/Quote] 你做好的能否给我看看 谢谢你了 我的QQ1013453044 麻烦你了
那一年我们21
2012-08-03
打赏
举报
回复
[Quote=引用 10 楼 的回复:]
to: Supper_Jerry
hashmap是高效,但查询条件很局限
to: laolaoliu2002
Memorycache是java里面的吧?c++里怎用?
[/Quote] 你做好的能否给我看看 谢谢你了 我的QQ1013453044 麻烦你了
xkyx_cn
2008-07-16
打赏
举报
回复
数据库记录量?
用户量?
用户身份?
……
supercow
2008-07-16
打赏
举报
回复
应该个有个优化的策略吧.
可以在用户读取数据前根据用户身份判断可能取到的数据,来进行优化. 不过楼主没说这些细节~~
hai040
2008-07-16
打赏
举报
回复
mark
可以考虑用内存数据库
yumei20001
2008-07-16
打赏
举报
回复
首先SQl 语句就得先优化
也可以用个本地库来存放数据
zhengxianglei
2008-07-16
打赏
举报
回复
不是太懂。看看看看~
jianmuyan
2008-07-16
打赏
举报
回复
顶
Vitin
2008-07-16
打赏
举报
回复
做项目建议配置数据库或者使用内存数据库。
如果是做研究,建议自己设计微型的内存数据库:
1、用大块内存存储连续数据记录,使用索引提高查询速度。
2、降低读写真实数据库的次数,批量读取与更新。
3、确定操作接口,根据需求决定设计。
Vitin
2008-07-16
打赏
举报
回复
数据库管理系统一般都有自己的高速缓存。在内存足够的前提下通过合适的配置可以大大提高性能。
另外还有名为“内存数据库”的技术,提供基于内存的整套数据库解决方案。
sandrowjw
2008-07-16
打赏
举报
回复
首先如果对地址重新编码的话,访问就不是问题,但是那样要重载整个内存管理层。
还有我感觉这种问题没有通用方案,最好是分析你的代码,找到内存分配效率上的瓶颈然后加以解决。数据库本身就有缓存机制,但是缓存的作用与否和数据库的设计优劣关系很大,所以与其动脑筋去考虑缓存,不如优化一下数据库设计(如果你用的Access就当我没说)。
逸学堂
2008-07-16
打赏
举报
回复
排出其他问题
你可以看看memcached,很多大型网站都使用它做缓存(如果缓存命中率不能达到90%,最好别用)
http://danga.com/memcached/
另外:lz还是仔细分析一下影响性能的主要因素吧。
Dancing_Sea
2008-03-31
打赏
举报
回复
不要说hashmap没有用
你将你的 查询条件作为key,vector 里面的索引号作为value.
具体还是要看你的查询原则.
艾,还是废贴
Dancing_Sea
2008-03-31
打赏
举报
回复
[Quote=引用 15 楼 taodm 的回复:]
查找规则都没谈,只能说是废贴。
[/Quote]
就是
楼主最好描述清楚你的数据是如何使用的,数据规模,用户查询、提交的频度
1、可以建立索引(跟数据库的索引类似),这样你可以将高速索引放到内存中,其他的放到文件里面
2、建立缓冲池,将读写频度高的放到内存中.
Skt32
2008-03-31
打赏
举报
回复
使用内存文件
michney
2008-03-21
打赏
举报
回复
memorycache,开源的
dreamlins
2008-03-21
打赏
举报
回复
在线等 求方案。。
YJ1973
2008-03-21
打赏
举报
回复
“现在是用vector来保存,不过数据查找的时候速度比较慢,故需求更高效方案。”
“hashmap是高效,但查询条件很局限”
要快速查询就要索引,对一项属性要索引,就要维护至少一个索引表
你想“查询条件不局限”又要“快”,那你就要都索引。
一般的数据库做法都是在key上索引
缓存数据的主要目的是为了减少访问代价,缓存的结果应该与数据库的逻辑结构保持一致。
taodm
2008-03-21
打赏
举报
回复
查找规则都没谈,只能说是废贴。
dreamlins
2008-03-19
打赏
举报
回复
有没有谁有更好的建议呀!!拜托了
加载更多回复(11)
JAVA上百实例源码以及开源项目
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
【C/
C++
性能优化】提高
C++
程序的
缓存
命中率以优化性能
在探讨计算机性能优化的旅程中,我们常常被引导去关注算法的复杂度、代码的优化,或是更高效的数据结构。然而,有一个经常被忽视的角色在幕后默默地影响着程序的运行效率——那就是
缓存
(Cache)。正如哲学家亨利·...
CSP/信奥赛
C++
数据结构
通过三大模块(线性结构、树形结构、图形结构),讲解
C++
数据结构,以模块化思想让学生掌握
C++
数据结构。 通过实例化编程教学,注重逻辑思路分析和编程方法讲解,分模块分阶段让学生走上
C++
信奥赛课程的学习之路。 ...
C/
C++
流水线
缓存
以及优化
然而,在另一种称为回写式的
缓存
设计中,数据会先写入
缓存
中,在某些情况才会把
缓存
线回写到主内存。这些情况包括:一条曾写过新数据的
缓存
线需要被逐出
缓存
,以供主内存载入新的
缓存
线;程序明确要求清除
缓存
。 ...
C++
指针、
C++
编译、基础数据类型长度、CPU结构、计算机内存、三级
缓存
小结
C++
指针、
C++
编译、基础数据类型长度、CPU结构、计算机内存、三级
缓存
C++ 语言
64,849
社区成员
250,501
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章