讨论数量:
说一个我们项目的一个应用:用户每天第一次登陆使用系统时,会记录一下用户的ID、身份、登陆时间、使用的设备,用于统计活跃度,下次再访问接口的时候,就不记录了。但是每次访问接口都要去数据库查询是否记录过活跃度,比较耗费资源,那么就可以存入redis 一条记录,每次只需要访问redis检查 即可。万一redis发生故障丢失数据,那么再去查数据库,并在redis 上再缓存一次。
Redis可以做什么
Redis 的应用范围非常广泛,让我们梳理一下 Redis 可以用在哪些地方:
- 记录帖子的点赞数、评论数和点击量(hash)
- 记录用户帖子 ID 列表(排序),便于快速显示用户的列表(zset)
- 记录帖子的标题、摘要、作者和封面信息,用于列表展示(hash)
- 记录帖子的点赞用户 ID 列表,评论 ID 列表,用于显示和去重(zset)
- 缓存近期热帖内容(帖子内容空间的占用比较大),减少数据库的压力 (hash)
- 记录帖子的相关文章 ID,根据内容推荐相关帖子(list)
- 如果帖子 ID 是整数自增的,可以使用 Redis 来分配帖子 ID (计数器)
- 收藏集和帖子直接的关系(zset)
- 记录热榜帖子 ID 列表、总热播和分类热榜(zset)
- 缓存用户的历史行为,过滤恶意行为(zset、hash)
说一个我们项目的一个应用:用户每天第一次登陆使用系统时,会记录一下用户的ID、身份、登陆时间、使用的设备,用于统计活跃度,下次再访问接口的时候,就不记录了。但是每次访问接口都要去数据库查询是否记录过活跃度,比较耗费资源,那么就可以存入redis 一条记录,每次只需要访问redis检查 即可。万一redis发生故障丢失数据,那么再去查数据库,并在redis 上再缓存一次。