价格计算缓存解决方案

时间:2015-03-19 19:37:31

标签: mysql caching redis memcached

我出租的产品的价格计算非常复杂,基本上签名看起来像这样:

price = f( from_date, to_date, x ) - 即取决于3个参数:from_dateto_datex,其中from_dateto_date是日期,{ {1}}是一个数值(int)值,范围从1到10.

x - 是复杂的基础功能。

主要限制:

1)f接受值[今天;今天+ 1年]

2)from_date> to_date

3)|(from_date - to_date)|从[1..365]

获取值

我使用MySQL作为我的主存储器,我有大约50,000件物品。

我想构建一个搜索页面,您可以按价格过滤或排序(输入日期后; from_date如果省略则默认为1。)

据我所知,这不能转换成MySQL查询,因为它太复杂了(即使可能,也会非常缓慢和低效)。

我想也许我可以使用像xredis这样的键值存储来预先计算所有可能日期范围的价格值,将它们存储在那里,并在需要时使其无效(并且不会经常发生。)

但是,使用一些基本的数学,我发现使用这种方法我需要最多33,580,500,000个键:memcache

我的问题是 - 我正在朝着正确的方向思考? 如果是 - 是否有任何有效的解决方案(关键字,内存占用和可扩展性方面)?

提前致谢!

0 个答案:

没有答案