四阶段
2024-01-20 11:14:20 0 举报
AI智能生成
登录查看完整内容
项目学习阶段总结
作者其他创作
大纲/内容
1.对项目需求进行详细的分析,明确项目的目标和范围。
2.与项目相关方进行深入沟通,确保需求的准确性和完整性
3.编写需求文档,作为后续开发阶段的参考依据
需求分析阶段的岗位人员包括产品经理、需求分析师、项目经理等
需求分析阶段
对项目的架构、模块、接口等进行详细的设计
确定项目的技术选型、架构方案、模块划分等
编写设计文档,作为后续开发阶段的参考依据
设计阶段的岗位人员包括架构师、设计师、项目经理等
设计阶段
根据设计文档进行代码的编写和开发
遵循编码规范和设计文档,保证代码的质量和性能
进行单元测试、集成测试、系统测试等,确保软件的稳定性和可靠性
开发阶段的岗位人员包括开发人员、测试人员、项目经理等
开发阶段
对开发完成的软件进行详细的测试,确保软件的功能和性能符合需求
制定测试计划、测试用例,进行功能测试、性能测试、安全测试等
编写测试报告,作为项目验收的依据
测试阶段的岗位人员包括测试人员、产品经理、项目经理等
测试阶段
将开发完成的软件部署到生产环境中,并对上线结果进行监控和维护
制定上线方案、回滚方案,确保上线过程的顺利进行
编写上线报告,作为项目总结的依据
上线阶段
上线阶段的岗位人员包括运维人员、产品经理、项目经理等
软件工程
<dependencyManagement>/<parent>/<modules>/<properties>
依赖管理
主模块,子模块pom表添加依赖
在resources里创建mappers文件夹,里面创建xxxMapper.xml
在application.yaml内配置mapper地址
在xxxMapper.xml文件内,编写SQL查询条件
集成mybatis
xxxMapper接口继承BaseMapper<T>,泛型为实体类型
在mapper实现类中完成SQL查询
mybatis-plus
配置文件,通过profiles来选择配置文件 application.yaml/application-local.yanl
参考PO -> BO -> VO 数据库往页面返数据 页面往数据库插数据 新增或者更新的参数Param -> BO -> PO
项目解耦
pageHelper
测试接口 生成接口文档
knife4j
@Transactional 注解类上可以方法上也可以实现类上可以接口上也可以
事务传播机制
事务隔离级别
事务处理
全局异常处理
快速失败的概念 编程思想
@Validated Spring实现的
参数校验
简介
redis-cli
默认有16库 从0开始 select 1-15 Select 16 报错
select
Keys * 学完以后 可以忘记 在线上是不可以使用的.
dbsize 可以获取当前数据库中数据的数量
Flushall 删除所有的数据Flushdb 删除当前数据库的所有数据
flush
expire & ttl
keys flushALL flushdb 线上不能用的命令
HGETALL SMEMBERS 消耗时间会随着数据量大小变化
禁忌
基础命令
SET:设置一个键的字符串值。SET key value
增加/修改
GET:获取指定键的字符串值。GET key
查询
DEL 命令用于删除 Redis 中的一个或多个键。命令语法如下:DEL key1 [key2 ...]
删除
String类型
LPUSH 命令:将一个或多个元素插入到列表头部LPUSH key value [value ...]
RPUSH 命令:将一个或多个元素插入到列表尾部RPUSH key value [value ...]
增加
LPOP 命令:移除并返回列表头部元素LPOP key
RPOP 命令:移除并返回列表尾部元素RPOP key
key:列表的键名。count:要移除的元素数量。可以是正数、负数或零。 正数表示从列表头部开始移除指定数量的匹配元素。 负数表示从列表尾部开始移除指定数量的匹配元素。 零表示移除所有匹配的元素。value:要移除的匹配元素。
需要注意的是,LREM 命令执行的时候会遍历整个列表,因此在列表长度较长时可能会产生较高的性能开销。
LREM 命令用于从列表中移除指定数量的匹配元素。命令语法如下:LREM key count value
移除
LRANGE 命令:获取指定范围内的元素列表LRANGE key start stop
LINDEX 命令:获取指定索引位置的元素值LINDEX key index
LLEN 命令:获取列表长度LLEN key
key:列表的键名。BEFORE|AFTER:指定在目标元素的前面(BEFORE)或后面(AFTER)插入新元素。pivot:目标元素,即要在其前面或后面插入新元素的元素。value:要插入的新元素。
需要注意的是,如果列表中不存在目标元素 pivot,那么插入操作不会进行,并且命令会返回 -1。
LINSERT 命令:在列表中插入元素LINSERT key BEFORE|AFTER pivot value
> LRANGE mylist 0 -11) \"one\"2) \"two\"> LINSERT mylist AFTER \"two\" \"three\"(integer) 3> LRANGE mylist 0 -11) \"one\"2) \"two\"3) \"three\"
插入
key:列表的键名。start:要保留的区间的起始索引位置(包含在内)。stop:要保留的区间的结束索引位置(包含在内)。
需要注意的是,start 和 stop 参数可以是负数,表示从列表尾部开始计算的索引位置。例如,-1 表示列表的最后一个元素。如果指定的区间不合法(例如 start 大于 stop),则会返回一个空列表。
LTRIM 命令用于对列表进行修剪(Trimming),即只保留列表中指定区间内的元素,而将其他元素全部删除。命令语法如下:LTRIM key start stop
拆分修剪
key:列表的键名。index:要设置的元素索引位置。value:要设置的元素值。
需要注意的是,如果指定的索引位置超过了列表的范围,LSET 命令会返回一个错误。
LSET 命令用于设置列表中指定索引位置的元素值。命令语法如下:LSET key index value
修改
List 类型
增加 Sadd [member ...]
单线程阻塞大数据量时查询容易导致redis崩溃
查询 smembers key
删除 SREM key [member...]
随机取两个成员(重复) SRANDMEMBER key count
随机弹出几个(弹出后集合内不再保留) Spop key count
获取大小 或者是size Scard
取交集 sinter key [key...]
成员是否存在 SISMEMBER key member
SSCAN 指令用于迭代集合(Set)或有序集合(Sorted Set)中的元素。它可以帮助你按照指定的模式逐个获取集合中的元素,而无需一次性获取所有元素。
key:要迭代的集合的键名。cursor:游标,表示迭代的起始位置。首次使用时,可以将游标设为 0。MATCH pattern(可选):用于匹配元素的模式。可以使用通配符 * 和 ? 进行模糊匹配。COUNT count(可选):每次返回的元素数量。默认情况下,Redis 会尽可能多地返回元素,但可以使用该选项限制返回的数量。SSCAN 指令的返回值是一个包含两个元素的数组:第一个元素是下一个迭代的游标,第二个元素是一个数组,包含了符合条件的元素。
SSCAN key cursor [MATCH pattern] [COUNT count]
差集 sdiff key [key ...]
并集 sunion key [key ...]
设置过期时间 EXPIRE key seconds -1表示永不过期
Set类型
HSET key field value [field value ...]:为哈希表 key 中的字段 field 设置值为 value。示例:HSET myhash field1 \"Hello\"
HINCRBY key field
HDEL key field [field ...]:删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。示例:HDEL myhash field1
HGET key field:返回哈希表 key 中给定字段 field 的值。示例:HGET myhash field1
HGETALL key:返回哈希表 key 中,所有的字段和值。示例:HGETALL myhash
HEXISTS key field:查看哈希表 key 中,指定的字段是否存在。示例:HEXISTS myhash field1
HKEYS key:获取哈希表 key 中的所有字段。示例:HKEYS myhash
HVALS key:获取哈希表 key 中的所有值。示例:HVALS myhash
HLEN key:获取哈希表 key 中字段的数量。示例:HLEN myhash
查询
Hash类型
ZADD key score member [score member ...]:将一个或多个成员元素及其分数值加入到有序集 key 当中。示例:ZADD myzset 1 \"one\"
ZREM key member [member ...]:移除有序集 key 中的一个或多个成员。示例:ZREM myzset \"one\"
ZINCRBY key increment member:有序集 key 中成员 member 的 score 值加上增量 increment 。示例:ZINCRBY myzset 2 \"two\"
ZCARD key:获取有序集 key 集合中元素的数量。示例:ZCARD myzset
ZSCORE key member:返回有序集 key 中,成员 member 的 score 值。示例:ZSCORE myzset \"one\"
ZRANGE key start stop [WITHSCORES]:通过索引区间返回有序集合指定区间内的成员。示例:ZRANGE myzset 0 -1 WITHSCORES
ZREVRANGE key start stop [WITHSCORES]:返回有序集中指定区间内的成员,通过索引,分数从高到低。示例:ZREVRANGE myzset 0 -1 WITHSCORES
ZCOUNT key min max:返回有序集 key 中,score 值在 min 和 max 之间(默认包括score值等于min或max)的成员数量。示例:ZCOUNT myzset (0 5
ZSet类型
数据类型及操作
https://mp.weixin.qq.com/s/rFs-KRR_Ft5sRY5S9cBCTw
订单超时未支付
面试题
redis
子主题
缓存
锁的技术应用 一图了解ConcurrentHashMap底层原理https://www.jianshu.com/p/da0f2a8c749d
锁的概念
框架学习
下单流程梳理
订单服务
用户服务
商品服务
购物车服务
支付服务
配送服务
业务梳理
业务分析
四阶段
0 条评论
回复 删除
下一页