![](https://img-blog.csdnimg.cn/20190902164339776.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
后端开发与性能优化
lzw2019sun
这个作者很懒,什么都没留下…
展开
-
项目理解(一):Java语言基础复习
1、版本控制系统:人人网,支付宝等用的都是svn;可以用: github, bitBucket等等。2、封装(实现接口)、继承(继承类)、多态(在类中对已有实现重新实现)。3、Set、List、Map、Random、Date、Math public static void myPrint(int index, Object object) { System.ou...原创 2019-06-15 21:41:04 · 169 阅读 · 0 评论 -
项目理解(六)消息队列Kafka实现及性能优化
Kafka特性:(1)高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。(2)可扩展性:kafka集群支持热扩展。(3)持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失。(4)容错性:允许集群中节点失败(若副本数量为n,则允许n...原创 2019-09-03 17:19:24 · 700 阅读 · 0 评论 -
项目理解(六)Redis分布式缓存及性能优化
目录Redis实现点赞与关注使用Redis优化登录模块Redis实现点赞与关注Redis:支持数据类型完善;使用简单;性能好;Redis是一款基于键值对的NoSQL数据库,对于Redis数据库保存的键值对来说,键总是一个字符串对象,而值可以是字符串对象、列表对象、哈希对象、集合对象或有序集合对象:String, hashes, Lists, Sets, Sorted Sets.Redi...原创 2019-09-03 11:25:08 · 969 阅读 · 1 评论 -
项目理解(八)架构与技术总结
技术总结架构总结:原创 2019-08-07 22:13:30 · 500 阅读 · 0 评论 -
项目理解(七)多级缓存优化性能
目录1、多级缓存(一)集成Caffeine(二)Caffeine驱逐策略2、Redis分布式缓存(一)Redis过期与淘汰策略(二)Redis分布式锁(三)Redis缓存穿透、缓存雪崩、缓存击穿1、多级缓存本地缓存:性能最好;本地缓存大小一般较小;分布式缓存:有一些数据是不适合存放在本地缓存的,比如登录凭证,这个数据和用户有直接的关联,如一个请求访问A服务器凭证...原创 2019-08-18 16:48:32 · 1344 阅读 · 0 评论 -
项目理解(五)系统安全代码重构、定时任务与云服务器
目录1、Spring SecuritySpring Security重构代码2、Redis统计网站数据实现统计独立访客及日活跃用户3、Quartz实现分布式定时任务(1)集成Quartz(2)线程知识补充(3)定时任务计算帖子分数进行热帖排行4、将文件上传到云服务器(1)生成长图保存本地(2)文件上传至云服务器1、Spring SecurityD...原创 2019-08-07 21:59:41 · 630 阅读 · 0 评论 -
布隆过滤器与大数据处理
目录哈希函数(散列函数)布隆过滤器Redis原子性操作反向代理哈希函数(散列函数)哈希函数的输入域可以是非常大的范围,但是输出域是固定的范围设为R,并具有如下性质:1、典型的哈希函数都有无穷的输入值域2、当给哈希函数传入相同的输入值时,返回值一样3、当给hash函数传入不同的输入值时,返回值可能一样,也可能不一样4、很多不同的输入值所得到的返回值会均匀地分布在R上布隆过...原创 2019-08-07 21:58:15 · 836 阅读 · 0 评论 -
项目理解(三)核心功能(前缀树、事务、AOP、统一处理异常、AJAX)
目录前缀树:Trie、字典树、查找树 发布帖子 帖子详情 显示评论、添加评论(事务) 私信列表 发送私信 统一处理异常 统一记录日志前缀树:Trie、字典树、查找树查找效率高;消耗内存大;用于字符串检索、词频统计、字符串排序等;实现敏感词过滤器:1、定义前缀树;2、根据敏感词,初始化前缀树;3、编写过滤敏感词的方法; private cla...原创 2019-07-26 11:28:51 · 444 阅读 · 0 评论 -
项目理解(四):数据库基础
使用MySQL Workbench 可操作性界面来创建数据库(入门工具) 数据库常见的数据类型: Int整数; Varchar指定最大多长的字符串(如密码等不知道有多长,指定最大长度); datetime时间的数据结构; float:浮点类型; text:比较大的文本。 CRUD操作:增删改查操作: INSERT INTO table_name(列1,列2,….) VALUES(值...原创 2019-06-18 21:34:00 · 179 阅读 · 0 评论 -
项目理解(二)Spring配置与构建总结
Apache Maven可以帮助我们构建项目、管理项目中的jar包Maven仓库:存放构件的位置--本地仓库:默认是:~/.m2/repository:对于我的电脑为C:\Users\liuze\.m2\repository--远程仓库:中央仓库(官网)、镜像仓库(第三方如aliyun)、私服仓库(一家大的公司,自己用)Maven参考基础的网址:http://maven.apa...原创 2019-07-15 15:24:24 · 191 阅读 · 0 评论 -
项目理解(三):邮箱注册登录、拦截器与页面访问
目录1、基本配置:2、注册(邮箱验证)3、登录:4、页面访问显示登录信息5、账号设置6、保障用户数据安全性1、基本配置:pom文件导入包:AOP\thymeleaf\web\devtools\test\mysql-connector-java\spring-boot-starter-mail\mybatis-spring-boot-starter\common...原创 2019-06-22 10:31:40 · 1460 阅读 · 0 评论 -
项目理解(二):Spring基础总结:Hello word-Thymeleaf-AOP-IOC
写一个hello world: 路径传参PathVariable RequestParam;请求传参method=RequestMethod.GET ; //@RestController里面的方法都以JSON格式输出,不需要其它额外配置//@RestController 注解相当于@ResponseBody和@Controller合在一起的作用,如果web层// 的类上使用了@Re...原创 2019-06-17 20:55:57 · 289 阅读 · 0 评论 -
项目理解(六)Elasticsearch倒排索引与搜索应用
目录时序数据库倒排索引Elasticsearch简介Elasticsearch的应用实现搜索时序数据库最简单的定义就是数据格式里包含 timestamp 字段的数据。几乎所有的数据都可以打上一个 timestamp 字段。时间序列数据更重要的一个属性是如何去查询它。在查询的时候,对于时间序列我们总是会带上一个时间范围去过滤数据。同时查询的结果里也总是会包含 timestamp 字段。(系列...原创 2019-09-05 16:26:49 · 592 阅读 · 0 评论