社区
C++ 语言
帖子详情
C++高速数据缓存设计方案
dreamlins
2008-03-18 10:42:16
小弟正用c++设计一个数据输入输出的接口,从数据库中取出数据给用户使用,及更新数据库的表记录,现需要一个高速数据缓存区,即先把数据库记录取出,缓存在本地。供用户快速使用,寻求高效解决方案。谢谢!
...全文
1103
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)
C++
缓存
机制对运算高效性的作用及优化措施
本文探讨
C++
缓存
机制对运算高效性的作用及优化措施。介绍了硬件和软件
缓存
,指出其能减少内存访问次数、提高数据访问局部性。还阐述了优化数据布局、控制
缓存
大小与替换策略、利用编译器优化等措施,并通过游戏开发和大数据处理案例说明其效果。
高速数据
存储心得
本文探讨了在项目中如何通过
C++
和WindowsAPI优化
高速数据
处理与实时存储,从同步IO的限制升级到异步IO(如DirectI/O)和小块连续并发IO,以提升性能并降低内存压力。作者分享了实验过程和结果,展示了使用异步IO模式下显著的速度提升。
【
C++
数据结构进阶】吃透 LRU Cache
缓存
算法:O (1) 效率
缓存
设计全解析
本文详细解析了LRU
缓存
算法的设计原理及其在
C++
中的高效实现,重点介绍双向链表与哈希表结合的方式,实现get和put操作均达到O(1)时间复杂度。涵盖核心数据结构设计、操作流程拆解、时间/空间复杂度分析及线程安全等优化方向,适用于操作系统、数据库和高性能应用开发。
LabVIEW虚拟
高速数据
回放系统
本文介绍了一套基于LabVIEW开发的虚拟
高速数据
回放系统,该系统通过软件定义功能,实现了多通道
高速数据
采集、可靠存储及灵活波形回放。系统适用于工业现场监测、实验室测试和科研瞬态信号记录等场景,具有开发高效、扩展灵活、交互直观和兼容广泛等优点。文章还详细讨论了系统开发中遇到的问题及解决方案。
高效数据处理的前沿:【
C++
】、【Redis】、【人工智能】与【大数据】的深度整合
本文探讨了
C++
与Redis在人工智能和大数据领域的深度融合,突出
C++
的高性能计算能力和Redis的
高速数据
存取优势。通过实际案例展示其在实时推荐与监控系统中的应用,并提出性能优化与功能扩展策略,构建高效、可扩展的数据处理架构。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章