springboot整合redis實現熱搜功能
阿新 • • 發佈:2021-02-06
1、引入redis所需pom依賴
本人使用的版本
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、redis配置
在yml檔案中配置,本人使用單機版redis,如部署伺服器上關閉相關的防火牆再修改IP地址即可
spring:
redis:6379
host:localhost
3、實現熱搜功能程式碼
在搜尋的service層引入redis,需先注入RedisTemplate,使用incrementScore是方便自增。
controller層程式碼首頁展示:
4、獲取前4個熱搜關鍵字
將其設定為一個工具類方便使用
@Component
public class RedisUtils {
@Autowired
private RedisTemplate redisTemplate;
public List<String> getRedis(){
//熱搜
Set<ZSetOperations.TypedTuple<String>> search = redisTemplate.opsForZSet().reverseRangeWithScores("sortSearch", 0, 3);
ArrayList<String> list = new ArrayList<>();
for(ZSetOperations.TypedTuple<String> s :search){
list.add(s. getValue());
}
return list;
}
}
5、頁面展示
本人使用freemarker框架,前端頁面展示如下
<tr style="float: right;line-height: 26px;">
<td>熱門搜尋: </td>
<#list sortList as sort>
<td><a href="/search?key=${sort}">${sort}</a> </td>
</#list>
</tr>