(苍穹外卖)暑假学习理解P2
本周开始还是继续学习和复习Java后端开发的知识,因为打算参加比赛的原由,后面学习前端的知识了一部分,后续安排,熟练掌握使用Vue框架和ElementUI组件库搭建基础的前端页面,之后继续学习Java后端开发中若依框架和微服务的部分
Redis数据库
redis数据库作为非关系型的数据库其特点就是键值对的思想。主要用于在内存当中存储热点数据,用来缓解高量的数据请求,由于存储在内存当中,反应也会比Mysql类的数据库要快。
类别 | 命令 | 作用 | 示例 |
---|---|---|---|
键操作 | DEL | 删除键 | DEL key1 |
EXISTS | 检查键是否存在 | EXISTS key1 | |
EXPIRE | 设置过期时间 | EXPIRE key1 60 | |
TTL | 查看剩余生存时间 | TTL key1 | |
KEYS | 模式匹配键(慎用) | KEYS user:* | |
数据库管理 | SELECT | 切换数据库 | SELECT 1 |
FLUSHDB | 清空当前数据库 | FLUSHDB | |
FLUSHALL | 清空所有数据库 | FLUSHALL | |
DBSIZE | 当前数据库键总数 | DBSIZE | |
服务器控制 | INFO | 查看服务器信息 | INFO memory |
PING | 测试连接 | PING | |
BGSAVE | 后台保存数据 | BGSAVE | |
SHUTDOWN | 安全关闭服务器 | SHUTDOWN |
Redis存储是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型。
字符串string,哈希hash,列表list,集合set,有序集合zset(sorted set)
哈希:在value里面又分为field和value。比较适合存储对象,包括属性和值。
列表:类似于一个队列,有顺序,按照插入顺序排序,可以有重复元素。可以存储跟顺序有关系的。
集合:无序集合,没有重复元素。可以运算交集或者并集。
有序集合:集合中每个元素关联一个分数,根据分数升序排序,没有重复元素。
Redis的操作可以在终端中打开redis-servie和redis-cli来进行操作
或者下载图形化界面来进行连接控制(Another Redis Desktop Manager)
在Java当中引入redis操作,引入依赖在配置文件yml中配置好,在配置包下创建相应的配置类进行测试
JAVA八股文复习概念与理解
反射机制的理解:
在Java运行时环境中,对于任意一个类,可以知道这个类有哪些属性和方法。对于任意一个对象,可以调用它的任意一个方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。
动态代理是什么?有哪些应用?
动态代理是运行时动态生成代理类。 动态代理的应用有 spring aop、hibernate 数据查询、测试框架的后端 mock、rpc,Java注解对象获取等。
Cookie和Seesion的理解
Cookie可以理解为前端和服务器端的交互中的安全验证这些操作中,Cookie是将用户的ID和个人信息来封装传输,不安全,而且浏览器这边可以直接禁用所有的Cookie
Cookie 是 web 服务器发送给浏览器的一块信息,浏览器会在本地一个文件中给每个 web 服务器存储 cookie。以后浏览器再给特定的 web 服务器发送请求时,同时会发送所有为该服务器存储的 cookie。
Seesion是在Cookie的基础上,例如只传输了id到服务器端,再由服务器这边拿着这个id去找相应的信息来匹配验证,这个操作虽然安全了,但是加重了服务器端的压力
拦截器和过滤器
这边我的理解是拦截器多用于切面编程等部分,突出于想要在特定的方法或者注解上进行特定的操作
而过滤器主要是一些验证的操作,例如对一些请求进行拦截验证放行的操作。
过滤前 – 拦截前 – Action处理 – 拦截后 – 过滤后。
过滤是一个横向的过程,首先把客户端提交的内容进行过滤(例如未登录用户不能访问内部页面的处理);过滤通过后,拦截器将检查用户提交数据的验证,做一些前期的数据处理,接着把处理后的数据发给对应的Action;Action处理完成返回后,拦截器还可以做其他过程(还没想到要做啥),再向上返回到过滤器的后续操作。
前端复习部分
Node.js与包管理器npm的学习
安装Nodejs来为Vue的运行提供环境,采用npm来进行包管理和安装
这部分学习了一下用Nodejs搭建基础的后端服务器
const http = require('http');const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end(' RUNOOB Node Test ~ Hello, Node.js!\n');
});const port = 3000;
server.listen(port, () => {console.log(`服务器运行地址:http://localhost:${port}/`);
});
Vue框架的学习
通过Vue ui来创建基础的Vue 项目,再在Vscode中打开于终端进行相应的编辑与学习
学习基础Vue框架,如何配置路由,配置代理端口,如何使用axios从url拿到json格式的数据,vuex共享数据组件等。
采用ElementUI组件库进行修改,配置,写简单的网页
学习了Typescript;
笔记没怎么做,下周把苍穹外卖前端页面复现再说。