我正在审查我的代码并意识到我花费了大量时间
- 从数据库中获取行,
- 格式化为 XML,
- AJAX GET 到浏览器,然后
- 转换回哈希 javascript 对象作为我的本地数据存储。
在更新时,我必须反转这个过程(除了使用 POST 而不是 XML。)
刚开始研究 Redis,我想我可以节省大量时间将对象保存在服务器上的键值存储中,并且只需使用 JSON 直接传输到 JS 客户端。但我虚弱的头脑无法预料离开 SQL DB 会放弃什么(即我害怕放弃 GROUP BY/HAVING 查询)
对于我的数据,我有:
- 多对多关系,即 obj-tags、obj-groups 等。
- 通过组合查询对象,即 WHERE tag IN ('a', 'b','c') AND group in ('x','y')
- 自连接,即每个对象的所有标签 WHERE tag='a' (sql group_concat())
- 很多外连接,即OUTER JOIN rating ON o.id = rating.obj_id
- 和提要,这似乎是 REDIS 的强项
您如何成功地混合键值和 SQL 数据库?
例如,使用 SQL RANGE 查询(即 WHERE obj.id IN (1,4,6,7,8,34,876,9879,567,345, ...), 或相反亦然?
欢迎提出想法/建议。