济宁营销网站建设,网站建设交什么税,用户注册和登录网站怎么做的,重庆关键词快速排名项目描述: 一个基本功能完整的论坛项目。项目主要功能有: 基于邮件激活的注册方式#xff0c;基于MD5加密与加盐的密码存储方式#xff0c;登录功能加入了随机验证码的验证#xff0c;实现登陆状态检查、为游客与已登录用户展示不同界面与功能。支持用户上传头像#xff0c…项目描述: 一个基本功能完整的论坛项目。项目主要功能有: 基于邮件激活的注册方式基于MD5加密与加盐的密码存储方式登录功能加入了随机验证码的验证实现登陆状态检查、为游客与已登录用户展示不同界面与功能。支持用户上传头像实现发布帖子、评论帖子、发送私信与过滤敏感词等功能。实现了点赞关注与系统通知功能。
主要工作项目角色: 后端各部分模块开发;数据库表的设计
核心功能具体实现:
1.通过对登录用户颁发登录凭证记录登录用户登录状态使用拦截器进行登录状态检查解决了http无状态带来的缺陷保护特定需登录使用的资源。 2.对频繁需要访问的数据如用户基本信息使用Redis作为本地缓存提高服务器性能。
3.使用Redis的集合数据类型来解决踩赞、相互关注功能采用事务管理保证数据的正确采用“先更新数据库再删除缓存”策略保证数据库与缓存数据的一致性 4.使用Kafka作为消息队列在用户被点赞、评论、关注后放入异步队列以系统通知的方式推送给用户对系统进行解耦、削峰。
项目收获: 1.熟悉了在Spring Boot框架下开发项目的操作流程 2.熟悉了Redis的使用场景与应用Redis的好处。 3.了解了Kafka作为消息队列的基本使用了解了Kafka在项目中的作用
技术栈
Spring Boot、SSM、Redis、Kafka、ElasticSearch、Spring Security、Quatz、Caffeine
项目亮点
1.项⽬构建在Spring BootSSM框架之上并统⼀的进⾏了状态管理、事务管理、异常处理
2.利⽤Redis实现了点赞和关注功能单机可达5000TPS
3.利⽤Kafka实现了异步的站内通知单机可达7000TPS
4.利⽤ElasticSearch实现了全⽂搜索功能可准确匹配搜索结果并⾼亮显示关键词
5.利⽤CaffeineRedis实现了两级缓存并优化了热⻔帖⼦的访问单机可达8000QPS。
6.利⽤Spring Security实现了权限控制实现了多重⻆⾊、URL级别的权限管理
7.利⽤HyperLogLog、Bitmap分别实现了UV、DAU的统计功能100万⽤户数据只需*M内存空间
8.利⽤Quartz实现了任务调度功能并实现了定时计算帖⼦分数、定时清理垃圾⽂件等功能
9.利⽤Actuator对应⽤的Bean、缓存、⽇志、路径等多个维度进⾏了监控并通过⾃定义的端点对数据库连接进 ⾏了监控。
如何记录⽤户的登陆状态 ⽤户登录之后会给⽤户创建⼀个ticket并放⼊cookie返回给浏览器下⼀次再访问时浏览器带上 cookie(ticket)服务端可以根据cookie确定⽤户的登录状态以及通过ticket查询到⽤户id通过⽤户id就 可以知道当前⽤户的具体信息了把user放⼊model再由模板引擎渲染后返回HTML给客户端浏览器。显示⽤户的登录信息是所有的请求都要⼲的事因此这个业务逻辑由拦截器实现
cookie是什么和session有什么区别 cookie和session的关系 为什么⽤Redis
1、Redis是⼀种基于键值对的NoSQL数据库它⽀持多种数据结构 字符串String、哈希hashs、列表lists、集合sets、有序集合sorted sets等
2、Redis将所有的数据都存在内存中所以它的读写性能⼗分惊⼈。 同时Redis还可以将内存中的数据以快照或者⽇志的形式保存到硬盘上以保证数据的安全性。
3、缓存、排⾏榜(热⻔帖⼦)、计数器、社交⽹络(点赞数)、消息队列等。
如何优化登陆模块
1.使用Redis存储验证码 验证码需要频繁的访问与刷新对性能要求较高 验证码不需永久保存通常在很短的时间后就会失效。 分布式部署时存在Session共享的问题
2.使用Redis存储登录凭证 处理每次请求时都要查询用户的登录凭证访问的频率非常高.
3. 使用Redis缓存用户信息 处理每次请求时都要根据凭证查询用户信息访问的频率非常高。
1. 使⽤Redis存储验证码的步骤 当⽤户点击刷新验证码时服务端⾸先给当前需要登陆的游客设置⼀个随机字符串(kaptchaOwner)⽤于标识 当前这个游客然后将随机字符串存⼊到cookie中返回给浏览器然后服务端的redis保存 key:随机字符串, value:验证码 。 接着⽤户输⼊⽤户名密码验证码再次点击登陆时服务端会从cookie中拿到kaptchaOwner,通过它可以从 Redis中得到正确的验证码然后与⽤户输⼊的验证码做⽐较看是否⼀致。
如何⽤kafka做系统通知