鍍金池/ 問(wèn)答/Java/ 每種分類返回前N條數(shù)據(jù)的接口,該怎么實(shí)現(xiàn)比較好?

每種分類返回前N條數(shù)據(jù)的接口,該怎么實(shí)現(xiàn)比較好?

問(wèn)題描述

例如mysql里面有一張信息表,每條數(shù)據(jù)都包含name和categoryId,還有一張分類名稱表,包含categoryId和categoryName。
現(xiàn)在有一個(gè)接口要求是返回所有分類下的前N條數(shù)據(jù),大概是這種形式
[

{
    "categoryId":1001,
    "data":[
        {
            "name":"test1"
        },
        {
            "name":"test2"
        }
    ]
},
{
    "categoryId":1002,
    "data":[
        {
            "name":"test3"
        },
        {
            "name":"test4"
        }
    ]
}

]

因?yàn)榉诸悅€(gè)數(shù)是不固定的,每個(gè)分類查一次可能要訪問(wèn)很多次數(shù)據(jù)庫(kù),現(xiàn)在的做法是寫(xiě)了一個(gè)復(fù)雜sql一次性全部查出來(lái),也能夠做到。但我怕以后數(shù)據(jù)量大的話sql的性能沒(méi)法保證,是否有其他更加通用的方法能夠參考?

回答
編輯回答
膽怯

分類表獲取所有分類id,
循環(huán),單獨(dú)查詢每個(gè)分類的前多少條,放入list
最后返回.

2018年3月1日 11:42
編輯回答
貓館

如果要考慮性能啊,當(dāng)然是上緩存啦,
redis了解一下

2018年4月21日 15:05