我正在努力工作,我可以利用我的网络应用程序中的缓存层(如果是,那么哪种技术)。
我们的网络应用程序有内部和外部组件,我希望尽可能在Web App和公共外部组件的DB Tier之间添加内存缓存层。我们正在遭遇数据库性能问题,我希望尽可能减轻数据库的压力(加上我们公众面临的组件快速闪电)。
外部组件基于邮政编码提供位置搜索工具。例如,输入一个区域的后置代码,每次返回50个结果(数据相对陈旧)数据库可能会更改(新记录每天增加1个)所以我在想是否可以使用缓存层然后我可以使缓存无效每晚然后重新加载它(而不是缓存旁边模式)。
问题:
- 根据我的概述,例如:邮政编码映射到多个记录(JSON或可序列化对象)我可以使用缓存层将数据存储在内存中(数据总大小~100 MG,大量RAM可用)并根据缓存检索每个邮政编码的多个记录技术“键值数据存储”?
- 如果上面的数字1是可行的,我们使用PHP前端的缓存技术,Zend服务器有一个内存缓存,但它看起来不成熟,我更喜欢Redis而不是Memcached缓存,想法? / LI>
- 如果每晚预加载缓存是不可能实现的,那就想更好地利用缓存吗?
- 如果根本不能实现内存中缓存(根据我的要求),那么我应该考虑改进数据库(它的SQL Server),例如:在SQL Server启动时将搜索表加载到SQL缓存中?
- 其他,我缺少的东西?
醇>
提前致谢,欢迎所有评论!
干杯,