怎么使用java和redis实现一个简单的热搜功能
导读:本文共6407字符,通常情况下阅读需要21分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 具备以下功能:1:搜索栏展示当前登陆的个人用户的搜索历史记录,删除个人历史记录2:用户在搜索栏输入某字符,则将该字符记录下来 以zset格式存储的redis中,记录该字符被搜索的个数以及当前的时间戳 (用了DFA算法,感兴趣的自己百度学习吧)3:每当用户查询了已在redis存在了的字符时,则直接累加个数, 用来获取平台上最热查询的十条数据。 (可以自己写接口或者... ...
目录
(为您整理了一些要点),点击可以直达。具备以下功能:
1:搜索栏展示当前登陆的个人用户的搜索历史记录,删除个人历史记录
2:用户在搜索栏输入某字符,则将该字符记录下来 以zset格式存储的redis中,记录该字符被搜索的个数以及当前的时间戳 (用了DFA算法,感兴趣的自己百度学习吧)
3:每当用户查询了已在redis存在了的字符时,则直接累加个数, 用来获取平台上最热查询的十条数据。 (可以自己写接口或者直接在redis中添加一些预备好的关键词)
4:最后还要做不雅文字过滤功能。这个很重要不说了你懂的。
代码实现热搜与个人搜索记录功能,主要controller层下几个方法就行了 :
1:向redis 添加热搜词汇(添加的时候使用下面不雅文字过滤的方法来过滤下这个词汇,合法再去存储
2:每次点击给相关词热度 +1
3: 根据key搜索相关最热的前十名
4:插入个人搜索记录
5:查询个人搜索记录
首先配置好redis数据源等等基础
最后贴上核心的 服务层的代码 :
核心的部分写完了,剩下的需要你自己将如上方法融入到你自己的代码中就行了。
代码实现过滤不雅文字功能,在springboot 里面写一个配置类加上@Configuration注解,在项目启动的时候加载一下,代码如下:
然后这是工具类代码 :
在你代码的controller层直接调用方法判断即可:
也可将敏感文字替换*等字符 :
最后刚才的 SensitiveWordInit.java 里面用到了 censorword.text 文件,放到你项目里面的 resources 目录下的 static 目录中,这个文件就是不雅文字大全,也需要您与时俱进的更新,项目启动的时候会加载该文件。
怎么使用java和redis实现一个简单的热搜功能的详细内容,希望对您有所帮助,信息来源于网络。