社区项目中利用Redis进行高性能存储。主要包含内容:Redis概念和配置以及使用方法(Redis入门,Spring整合Redis),项目中的Redis具体实操(点赞,我收到的赞,关注、取消关注,关注列表、粉丝列表,优化登录模块)等。
Redis入门
- Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构:字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。
- Redis将所有数据都存放在内存中,所以它的读写性能十分惊人。同时,Redis还可以将内存中的数据以快照或日志的形式保存到硬盘上,以保证数据的安全性。
- Redis典型的应用场景包括:缓存、排行榜、计数器、社交网络、消息队列等。
Spring整合Redis
- 引入依赖
- spring-boot-starter-data-redis
- 配置Redis
- 配置数据库参数
- 编写配置类,构造RedisTemplate
- 访问Redis
- redisTemplate.opsForValue()
- redisTemplate.opsForHash()
- redisTemplate.opsForList()
- redisTemplate.opsForSet()
- redisTemplate.opsForZSet()
Spring整合Redis
引入依赖
配置Redis
访问Redis
- redisTemplate.opsForValue()
- redisTemplate.opsForHash()
- redisTemplate.opsForList()
- redisTemplate.opsForZSet()
点赞
点赞
首页点赞数量
- 统计帖子的点赞数量
Service包下新建LikeService类:
详情页点赞数量
- 统计点赞数量
- 显示点赞状态
Controller包下新建LikeController类:
在discuss-detail.html文件中和index.html修改点赞相关的内容:
并且引入JSON函数修改状态:
我收到的赞
重构点赞功能
开发个人主页
关注、取消关注
需求
关键
- 若A关注了B,则A是B的Follower(粉丝),B是A的Followee(目标)
- 关注的目标可以是用户、帖子、题目等,在实现时将这些目标抽象为实体
关注列表、粉丝列表
业务层
表现层
优化登录模块
使用Redis存储验证码
使用Redis存储登录凭证
使用Redis缓存用户信息