首页新闻找找看学习计划

大量数据缓存

0
[待解决问题]

数据场景:

1、对象实体有大概150个左右的属性字段,还包括个别子表。其中需要用于查询的字段在60个左右;

2、数据的总量在1-2万;

3、对象实体的字段不是固定的,由于型号不同字段有所差异。所以把属性字段全是平级存储的,类似淘宝里面商品属性的存储方式;

服务器场景:

1、由于是创业型公司,没有大量的资金购买多台服务器做集群,只有一台云服务器(内存4G),并且运行了3个网站;

业务场景:

1、需要快速的进行查询到符合条件的数据;

2、由于条件限制,不希望大量的消耗内存资源。看过memcached、redis、mongodb,但并没有真正的实际经验。

希望:

在现有的条件下,能够最快的满足查询优化,能够迅速的加载数据。考虑使用缓存,但不知道哪种比较适合???

々孤星☆泪♂的主页 々孤星☆泪♂ | 初学一级 | 园豆:13
提问于:2017-03-03 15:31
< >
分享
所有回答(3)
0

Redis集群

~扎克伯格 | 园豆:1797 (小虾三级) | 2017-03-03 15:47

哥,Redis集群内存要吃完哦

支持(0) 反对(0) 々孤星☆泪♂ | 园豆:13 (初学一级) | 2017-03-07 17:10
0

这配置,还是先从优化SQL,数据库设计考虑吧

创心coder | 园豆:716 (小虾三级) | 2017-03-04 16:59
1

你的场景下还是直接考虑普通关系型数据库。

1.没内存,内存相关的那些就放弃吧,mongo的话可以考虑下(你数据量就这么大的话mongo的松散document类型很符合你的条件),但前提条件是你的查询不能太过于复杂,否则用mongo实现起来有点费力

类似 select * from tb where ...order by ... skip ... limit ...这种我感觉已经到了mongo的极限了,你要是想做个join的话要么用mongo中的特殊类型,要么就要用代码去弥补

2.使用传统数据库,考虑到你这只有1,2万数据,实际查询不会有什么压力,但如果你要是什么60个字段做like那估计要测试下

3.基于你数据量不大的基础上另辟蹊径,用solr来进行数据存储和查询,实现难度偏高点,但可能相对第二条的极端条件下有更好表现。

Daniel Cai | 园豆:10369 (专家六级) | 2017-03-10 09:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册