您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

[转]缓存大量小文件?Redis是首选!

2026/1/1 16:42:14发布20次查看
现在有3kw的数据,单条数据都很小的,如果按key-value来看的话,key就是32位的md5字符串,value按平均算大概是100字节左右。 现在需要将这些数据做缓存以在高并发的时候依然可以快速响应。 因为这些数据基本没有冷热数据之分,所以需要将全部数据都放到缓存
现在有3kw的数据,单条数据都很小的,如果按key-value来看的话,key就是32位的md5字符串,value按平均算大概是100字节左右。
现在需要将这些数据做缓存以在高并发的时候依然可以快速响应。
因为这些数据基本没有冷热数据之分,所以需要将全部数据都放到缓存中。
1、直接生成静态文件,利用nginx对静态文件的高效做静态缓存。
当时服务器硬件资源有限,所以就采用这种方式,一直源用至今。 服务器间通过nfs来共享 太多小文件,不方便管理 nfs不方便运维与扩展 文件内容很小(100字节左右),3kw大概就是2.5g大小左右 不过文件存储的时候和硬盘分区的族大小有关,在这里磁盘分区的族大小为8k,所以尽管文件内容只有100字节,但是实际存储到磁盘上的时候单个文件其实是8k 所以3kw的文件世界占的磁盘空间大约为:200g左右( 严重浪费空间啊)2、redis(v2.2.11)【kv数据库】
听同事说开启vm会使性能急剧下降,所以基本无视vm,数据全放内存。 key为32位md5字符串 测试数据:10w数据大概占内存20m 测试数据:500w数据大概占内存1g,持久化的rdb数据文件大概350m 推算3kw数据:内存6g,持久化的rdb数据文件大概为2g(压缩了?) 因为redis在持久化的时候内存会加倍,和考虑到数据的增长,所以需要1台20g内存的机器基本就没问题了(容灾啥的另算)。 redis非常快,如果硬件条件没问题,基本选这个最好了。3、moosefs(mfs)【分布式文件存储系统】
mfs支持nfs的方式mount到本地直接操作(如使用mfs,则现在的架构基本不用改) 最基本的需要一台主控服务器(master server)、一台数据服务器(chunk server) 文件和目录的索引需要全部加载到主控服务器的内存中,所以对主控服务器的内存有一定的要求 写入30w文件,到20w的时候写入就开始下降得厉害了(我的5400转的笔记本硬盘) 30w文件,4w目录,主控服务器占用大概120m内存 文件存储方式貌似和普遍的文件一样单个存储的(不确定),30w文件大概占了2.4g的磁盘空间(同样是8k一个文件)。 小文件一样很多,不方便维护与迁移(不知是否我设置不对?)。 内存、硬盘都占用得比较多,而且性能相对来说不是很出众。 所以这个基本不考虑了。作者:qleelulu出处: http://qleelulu.cnblogs.com/
作者:zeo112140 发表于2013-7-11 10:28:48 原文链接
阅读:7 评论:0 查看评论
原文地址:[转]缓存大量小文件?redis是首选!, 感谢原作者分享。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product