没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
5页
1. 搜索历史记录:我们使用Redis的set数据结构来存储用户的搜索历史。每个用户都有自己的历史记录集合,通过HISTORY_SET + ":" + userId来区分不同用户的搜索历史。jedis.sadd方法用于添加新搜索词到历史记录集合中。删除操作没有直接在代码中体现,但可以通过jedis.srem方法从集合中移除某个元素来实现。 2. 更新热搜列表:我们使用Redis的有序集合(zset)来存储热搜数据。每个用户都有自己的有序集合,通过ZSET_PREFIX + userId来区分不同用户的热搜数据。每个搜索词都与一个得分相关联,该得分由函数getScore计算得出。新搜索词得分为1,旧搜索词得分为0。这个得分代表了搜索的频率和时间戳。jedis.zadd方法用于向有序集合中添加新元素,并设置其得分。 3. 获取平台上最热查询的十条数据:我们使用jedis.zrevrangeWithScores方法获取有序集合中的前十个元素(得分最高的十个搜索词)。返回的结果是一个包含元素和得分的集合,我们通过流处理将其转换为列表。 4. 不雅文字过滤:这部分功能在代码中有直接实现...
资源推荐
资源详情
资源评论
1. 前言
我们有一个简单的需求:
搜索栏展示当前登陆的个人用户的搜索历史记录,删除个人历史记录。
用户在搜索栏输入某字符,则将该字符记录下来 以zset格式存储的redis中,记录该字符被搜索的个数
以及当前的时间戳 (用了DFA算法)。
每当用户查询了已在redis存在了的字符时,则直接累加个数, 用来获取平台上最热查询的十条数据。
(可以自己写接口或者直接在redis中添加一些预备好的关键词)。
做不雅文字的过滤功能。
2. 实现
2.1 引入依赖
2.2 实现代码
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version> <!-- 使用你需要的版本 -->
</dependency>
</dependencies>
import redis.clients.jedis.Jedis;
资源评论
孤蓬&听雨
- 粉丝: 6785
- 资源: 301
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功