Redis五大数据结构相关命令
Redis五大数据结构相关命令服务器相关命令123456789101112ping : 检测连接是否存活echo: 在命令行打印一些内容quit、exit: 退出客户端shutdown: 退出服务器端info: 返回redis相关信息config get dir 实时传递接收的请求showlog: 显示慢查询select n: 切换到数据库n,redis默认有16个数据库(DB 0~DB 15),默认使用的第0个dbsize: 查看当前数据库大小move key n: 不同数据库之间数据是不能互通的,move移动键到指定数据库flushdb: 清空当前数据库中的键值对。flushall: 清空所有数据库的键值对。
key相关命令在redis中无论什么数据类型,在数据库中都是以key-value形式保存,通过进行对Redis-key的操作,来完成对数据库中数据的操作。
常用命令:
keys * :查看当前数据库中所有的key
dbsize: 键总数
exists key: 检查键是否存在
del key [key …]: 删除键 会阻塞
unlink key [key...] ...
Linux常用操作详解
Linux常用操作详解Linux常用命令关机&重启1234567shutdown -h now 立即关机shutdown -h 1 一分钟后关机shutdown -r now 立即重启halt 关机reboot 重启sync 把内存的数据同步到磁盘上
帮助指令123man 指令 查看某指令的详细信息help 指令 获得shell内置命令的帮助信息
文件目录操作pwd命令1pwd 查看当前目录绝对路径
cd命令切换目录
12345cd / 切换到根目录cd /usr 切换到根目录下的usr目录cd ../ 切换到上一级目录 或者 cd ..cd ~ 切换到home目录cd - 切换到上次访问的目录
ls命令查看目录和文件
12345ls 查看当前目录下的所有目录和文件ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)ls -l ...
计算机系统结构
计算机系统结构计算机系统结构在不同规模的计算机上展现出多样性和复杂性。微机、小型机和大型机作为不同层次的计算机系统,各自具有独特的体系结构特点、指令特点、算法特点、处理器特点和存储器层次结构。
本报告旨在通过对微机、小型机和大型机系统结构的分析,深入探讨它们的特点和应用。我们将从体系结构、指令、算法、处理器、存储器等方面逐一进行分析,并通过编写C程序来演示多任务、流水线和并行处理等概念的应用。
首先,我们将研究微机、小型机和大型机的体系结构特点、组成特点和实现技术。随后,我们将分析它们的指令特点、算法特点和处理器特点,以及存储器层次结构的特点和优化方法。
通过本报告的学习,读者将了解不同规模计算机的系统结构特点及其在实际应用中的优劣势。同时,通过C程序的演示,读者将更加直观地理解多任务、流水线和并行处理等技术的工作原理和应用场景,为计算机系统设计和优化提供参考。
1. 系统结构特点微机
体系结构特点:
单处理器架构:微机通常只包含一个主处理器(CPU),执行单个指令流。
冯·诺依曼结构:采用存储程序概念,指令和数据存储在同一存储器中,按需取出执行。
集成度高,成本低:微机通常集成了大 ...
用户中心系统
用户中心系统系统简介用户中心系统是一个为网站或应用程序提供用户管理功能的关键组成部分。它包括用户注册、登录、个人资料管理、用户查询等基础功能,为用户提供了便捷的身份验证和个人信息管理途径。通过用户中心系统,用户可以轻松地注册账号,安全地登录网站或应用程序,并且管理其个人信息。
功能简介用户中心系统包括以下等功能:
用户注册:允许新用户创建账户,填写必要的个人信息,并进行验证。
用户登录:提供安全的登录界面,允许已注册用户使用其凭据(如用户名和密码)登录系统。
个人资料管理:允许用户查看和编辑其个人资料信息,如姓名、电子邮件地址、联系方式等。
密码管理:允许用户更改密码、请求密码重置或找回密码等操作,以确保账户安全。
安全性:实施安全措施,如加密存储密码,保障用户数据的安全性。
权限管理:根据用户角色或权限级别,限制用户对系统资源的访问权限,确保信息安全和数据隐私。
用户体验优化:设计友好的用户界面和交互流程,提升用户体验,降低用户使用门槛,增强用户黏性和满意度。
技术栈与系统结构前端主要运用阿里 Ant Design 生态:
HTML + CSS + JavaScript 三件套 ...
练习题
练习题数组和链表的区别数组 (Array)特点
连续内存分配:数组中的元素存储在连续的内存地址中。
固定大小:数组的大小在声明时确定,无法动态改变。
随机访问:通过索引可以在O(1)时间内直接访问任何元素。
优点
快速访问:由于内存地址连续,可以通过索引快速访问任意元素。
空间利用率高:没有额外的指针存储开销。
缺点
固定大小:无法动态调整大小,可能会导致内存浪费或不足。
插入删除效率低:在数组中插入或删除元素需要移动其他元素,时间复杂度为O(n)。
链表 (Linked List)链表是一种由节点组成的线性数据结构,每个节点包含数据和一个或多个指向其他节点的指针。
特点
非连续内存分配:节点存储在不连续的内存地址中,通过指针连接。
动态大小:可以根据需要动态调整大小。
多种类型:包括单向链表(Singly Linked List)、双向链表(Doubly Linked List)、循环链表(Circular Linked List)等。
优点
动态调整:可以根据需要动态增加或删除节点,内存利用更灵活。
插入删除效率高:在链表中插入或删除元素只需调整指针,时间复杂度为O(1)( ...
分布式Session
分布式Session什么是 Sessionsession 是一种服务端的会话机制。(被称为域对象),作为范围是一次会话的范围。服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。
Session 一致性问题当第一次请求来时,服务器端会接受到客户端请求,会创建一个 session,使用响应头返回 sessionid 给客户端。浏览器获取到 sessionid 后会保存到本地 cookie 中,当第二次请求来时,客户端会读取本地的 sessionid,存放在请求头中,服务端在请求头中获取对象的 sessionid 在本地 session 内存中查询,session 属于会话机制,当当前会话结束时,session 就会被销毁,并且 web 程序会为每一次不同的会话创建不 ...
常用注解
常用注解@Test@Test 是 Java 中 JUnit 测试框架中的一个注解,用于标记一个方法是一个测试方法。JUnit 是一个用于单元测试的框架,@Test 注解告诉 JUnit 这个方法是一个测试用例,JUnit 将会执行这个方法并检查它的行为是否符合预期。
使用 @Test 注解的方法必须满足以下条件:
方法必须是 public 的。
方法必须返回 void 类型。
方法不能接受任何参数。
方法上必须标记 @Test 注解。
@WebServlet@WebServlet 是 Java EE 中用于定义 servlet 的注解。Servlet 是 Java 平台上用于处理 Web 请求的组件。
@WebServlet 注解用于将一个 Java 类声明为 servlet,并指定它处理的 URL 路径。这个注解提供了一种简单的方式来替代传统的在 web.xml 中配置 servlet 的方式。
使用 @WebServlet 注解时,你需要指定一些属性,其中最常见的是 value 或 urlPatterns 属性,用于指定 servlet 处理的 URL 路径。
12345678 ...
Spring Boot 整合 MyBatis
Spring Boot 整合 MyBatis
如果不需要自定义druid则跳过druid部分即可
创建一个Spring Boot项目,引入以下依赖:
Maven导入相关依赖:
12345678910<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.8</version></dependency>
配置数据库连接信息
application.yml:
12345678910111213141516171819202122 ...
Spring——AOP
Spring——AOP什么是AOP?基本概念
AOP(Aspect-Oriented Programming)是一种编程范式,旨在提高软件的模块化和可维护性。AOP 是在 OOP(Object-Oriented Programming,面向对象编程)之上的一种补充,它主要关注在软件开发中的横切关注点(cross-cutting concerns),例如日志记录、安全性、事务管理等,这些关注点可能存在于应用程序的不同部分之中,而不仅仅局限于单个类或对象。
AOP 的核心思想是将这些横切关注点从应用程序的核心业务逻辑中分离出来,以提高代码的模块化和可维护性。它通过定义切面(Aspect)来实现这一目标。切面是横切关注点的模块化单元,其中包含了特定的横切逻辑。
在 AOP 中,切面可以通过在应用程序的不同点上进行织入(Weaving)来将其与核心业务逻辑连接起来,从而实现横切关注点的处理。织入可以在编译时、加载时或运行时进行,这取决于 AOP 框架的实现方式。
AOP 的一个主要优点是它能够降低代码的重复性,因为横切关注点的处理逻辑可以集中在切面中,而不需要在应用程序的多个地方重复编写。这样 ...
动态代理
动态代理基本概述
动态代理是一种在运行时动态生成代理对象的技术,它允许在不修改原始对象代码的情况下,通过代理对象间接访问原始对象,并在访问前后执行额外的操作。
动态代理通常用于实现横切关注点(cross-cutting concerns),如日志记录、性能监控、事务管理等。
在Java中,动态代理主要通过两个核心类来实现:Proxy和InvocationHandler。Proxy类用于动态创建代理类,而InvocationHandler接口负责处理代理对象的方法调用。通过实现InvocationHandler接口,开发人员可以在代理对象的方法调用前后添加自定义的逻辑,实现对原始对象的控制和增强。
案例演示现有Vehicle接口,其中有run()方法,Car类和Ship类分别实现该接口。在执行Car类和Ship类中的run()方法之前和之后,分别输出”交通工具开始运行..“和”交通工具停止运行..”。
Vehicle接口
1234public interface Vehicle { public void run();}
Car类
123456public ...
