84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
mysql数据库中有A、B、C三张表,现在应用程序得到的数据是由这三张表关联查询后得到的结果集。 每个用户得到的关联查询结果是不一样的。 我想插入数据时就直接写入到redis,用户所有操作都在redis里面,定时把数据同步到mysql,但是redis不支持关联查询,redis如何返回mysql关联查询出的结果呢?
认证0级讲师
如果关联查询很紧密,可能选用redis就是错误的,更适合选择一个支持条件查询的产品,比如MongoDB;
如果不是很紧密,分别查询ABC,判断where后的条件筛选对哪个表能得到最小的结果集;然后拿这个最小结果集去查其它两个表;
另外,redis支持交集,不过这个时间复杂度比较高,不一定有自己筛选一遍来的更快;http://redisdoc.com/set/sinter.html
你用Map表存储可以么?
如果关联查询很紧密,可能选用redis就是错误的,更适合选择一个支持条件查询的产品,比如MongoDB;
如果不是很紧密,分别查询ABC,判断where后的条件筛选对哪个表能得到最小的结果集;然后拿这个最小结果集去查其它两个表;
另外,redis支持交集,不过这个时间复杂度比较高,不一定有自己筛选一遍来的更快;
http://redisdoc.com/set/sinter.html
你用Map表存储可以么?