搜尋
首頁後端開發php教程约 1亿条记录, 每条1k左右,key =>value形式,用于前台查询,选择什么作为存储方案比较合适呢,要求效率比较高并且相对稳定可靠?

每天需要从文件导入一次,目前想到使用mysql分表存储,不知道有没有更好的办法。

回复内容:

对于这个小问题, 如果 key 比较小, 可以将所有 key-pos 放内存, pos 为文件中 value 的偏移, 每次访问只需要一次磁盘seek.

用 protocol-buf 或 thrift 架成网络服务, 还可以加一层proxy, 按 key hash 分发到不同的服务器来减小压力.

嗯, 好像这些, beansdb 都已经做好了. 数据之间没有强关联,这种情况下用mongo+redis是比较合适的,热点数据保留在redis里,其他数据md5分散到若干台mongodb. 然后请求分散到不同的mongodb上.
扩展也方便 1.总元数据量是100G不到,加上主键索引的话,预计100G-120G

2.每天需要从文件导入一次,目前想到使用mysql分表存储,不知道有没有更好的办法 ?这个不太清楚,是当下已经有1亿条记录,还是每天累加在一起之后,可能为1亿条记录

这个非常关键,若是每天累计在一起是1亿条记录,且是按PK查询查询的话,没有必要分表



3.非常关键的一点,只有查询 还是可能也提供其他的操作,比如UPDATE,INSERT,一定要确认清楚

4.查询的话是按PK单条的方式,还是大批量的读出,关键点是否需要GROUP BY 统计,ORDER BY 分页


5.主键是否简单比如1个或2个整型字段的模式

6.采用MySQL的话,若是非常简单的查询,且按PK,可以考虑采用Handlersocket的模式,对于复杂的建议走SQL协议...


推荐handlersocket的技术文章资料:
HandlerSocket的原理等系列篇章
mysqlops.com/2011/10/19

1. mongodb+redis
更酷,且对于你的场景来说,没有风险(即使丢失1天数据,也可以重新导入),成熟可靠.
mongodb存储数据(须使用主从or replication set),redis做cache.
2. mysql+memcached.
毫无疑问可以实现你的需求. 倒入之后只读的?用 java 随便写一个就可以了吧。index 放在内存,数据放在硬盘。如果访问有冗余,加个 cache 就好了。 使用Redis+Mysql吧,Mysql作磁带,Redis做前台的查询,比较合适。稳定,快速。 推荐用redis,它把k-v数据缓存在内存里面,性能很高,技术成熟稳定好,支持主从同步 thuir.org/thuirdb/
刚在微博上看到的,非常符合你的需求。

当然,不推荐使用不成熟的技术。 mark mysql用来存数据,redis用来查询,纯内存操作,速度绝对快!

缺点是硬件投入较大,1亿条数据全得存到redis服务器的内存里,redis里用不上的功能,全部不用。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何使PHP應用程序更快如何使PHP應用程序更快May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster,關注台詞:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

PHP性能優化清單:立即提高速度PHP性能優化清單:立即提高速度May 12, 2025 am 12:07 AM

到ImprovephPapplicationspeed,關注台詞:1)啟用opcodeCachingwithapCutoredUcescriptexecutiontime.2)實現databasequerycachingingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandreduceconnection.4 limitesclection.4.4

PHP依賴注入:提高代碼可檢驗性PHP依賴注入:提高代碼可檢驗性May 12, 2025 am 12:03 AM

依赖注入(DI)通过显式传递依赖关系,显著提升了PHP代码的可测试性。1)DI解耦类与具体实现,使测试和维护更灵活。2)三种类型中,构造函数注入明确表达依赖,保持状态一致。3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

PHP性能優化:數據庫查詢優化PHP性能優化:數據庫查詢優化May 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

簡單指南:帶有PHP腳本的電子郵件發送簡單指南:帶有PHP腳本的電子郵件發送May 12, 2025 am 12:02 AM

phpisusedforsenderemailsduetoitsbuilt-inmail()函數andsupportivelibrariesLikePhpMailerAndSwiftMailer.1)usethemail()functionForbasiceMails,butithasimails.2)butithasimail.2)

PHP性能:識別和修復瓶頸PHP性能:識別和修復瓶頸May 11, 2025 am 12:13 AM

PHP性能瓶颈可以通过以下步骤解决:1)使用Xdebug或Blackfire进行性能分析,找出问题所在;2)优化数据库查询并使用缓存,如APCu;3)使用array_filter等高效函数优化数组操作;4)配置OPcache进行字节码缓存;5)优化前端,如减少HTTP请求和优化图片;6)持续监控和优化性能。通过这些方法,可以显著提升PHP应用的性能。

PHP的依賴注入:快速摘要PHP的依賴注入:快速摘要May 11, 2025 am 12:09 AM

依賴性注射(DI)InphpisadesignPatternthatManages和ReducesClassDeptions,增強量強制性,可驗證性和MATIALWINABIOS.ItallowSpasspassingDepentenciesLikEdenciesLikedAbaseConnectionStoclasseconnectionStoclasseSasasasasareTers,interitationAseTestingEaseTestingEaseTestingEaseTestingEasingAndScalability。

提高PHP性能:緩存策略和技術提高PHP性能:緩存策略和技術May 11, 2025 am 12:08 AM

cachingimprovesphpermenceByStorcyResultSofComputationsorqucrouctationsorquctationsorquickretrieval,reducingServerLoadAndenHancingResponsetimes.feftectivestrategiesinclude:1)opcodecaching,whereStoresCompiledSinmememorytssinmemorytoskipcompliation; 2)datacaching datacachingsingMemccachingmcachingmcachings

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。