(2).增加记录: POST/books/_doc/19552 { "BookID":19552, "BookName":"C语言程序设计实验指导与习题解答", "BookIntr":"导语_点评_推荐词", "BookPrice1":19, "BookPrice2":19, "BookAuthor":"蒋清明", "BookPress":"人民邮电出版社", "BookDate":"2008-10-01", "BookKind":8 } 结果: { "_index":"books", "_type":"_doc", "_id":"19552", "_version":1, "result"...

  4Sc2EobNVfno   2023年11月02日   98   0   0 语言程序设计语言程序设计

1.传统应用发布模式: 开发团队:a.在开发环境进行开发、单元测试,提交pr到版本管理.b.基本的开发生命周期:(1)."开发"->"打包"->"测试"->"部署" 运维团队:部署到测试环境 QA团队:测试测服功能,通过后,通知运维部署正式环境. (1).问题点: 错误发现不及时. 人工编译部署过程中低级错误发生. 手动操作,各团队工作效率低:a.开发和打包都在同一台机器上,可能导致打包的过程中,影响开发的进度=>提供后台集成服务,开发、打包,互不影响b.不同的开发者、不同的环境配置可能打包的结果有差异=>解决不同环境下构建项目产生不一致 开发运维对立:a....

  4Sc2EobNVfno   2023年11月02日   54   0   0 环境配置复杂度运维

1.如何保证架构的质量: 稳定性、健壮性 (1).系统稳定性: 定义:a.当一个实际的系统处于一个平衡的状态时,如果受到外来作用的影响时,系统经过一个过渡过程仍然能够回到原来的平衡状态.b.可以说这个系统是稳定的,否则系统不稳定c.如一根绳子绑着小球,处于垂直状态,当受到外力作用时,最后还是会处于垂直状态 是架构设计的基石 可以更好的实现自我修复 (2).系统健壮性: 定义:a.计算机软件在输入错误、磁盘故障、网络过载或有意后,能否不死机、不崩溃,就是软件健壮性的具体表现b.即一个系统容错能力强、运行不易被干扰,安全性好 系统的健壮性的度量标准:a.一个软件可以从错误的输入推断出正确...

  4Sc2EobNVfno   2023年11月02日   46   0   0 健壮性架构设计开发过程

1.特性: key-value存储服务系统. 有点类似java的map、python的dict. 速度快、持久化、多种数据结构、主从复制、高可用、分布式. 不依赖外部库. 2.数据结构: 其它衍生的数据类型: bitmaps位图=>本质是string类型 HyperLogLog=>本质是string类型 GEO地图信息定位=>本质是有序集合a.适合O2O产品计算附近的餐馆b.可以计算经度和纬度 (1).内部编码: 时间与空间的切换:a.如果元素比较小的时候,就算是压缩过的,处理起来也比较快,就可以用空间换时间.b.在元素进行遍历、查找,不会消耗很多时间和CPU,使用...

1.redis扩展: redis服务可以使用相关程序写代码去连接服务. redis服务 (可以理解为一个很屌的Socket服务端程序) ________________________________________ ||| PHP扩展java相关客户端库调用python相关包调用 (php-redis)(jedis)(pythonredis) 自己开发socket程序,会有一个服务端和一个客户端.利用redis的协议来完成连接、协议解析. 安装各个语言相关的扩展(或库、包),根据redis的协议来调用. 2.容器: dockerpullredis:5-alpine docker...

  4Sc2EobNVfno   2023年11月02日   52   0   0 服务器redis客户端

1.单体架构缓存应用: (1).数据库查询缓存: 早期java简单的数据缓存:a.本地缓存(map)b.缓存第三方组件库(ConcurrentHashMap、OSCache) 主要应对缓存一些数据库的查询数据. 弊端:a.配置信息、通用信息,本地缓存无法形成一致性. (2).集中式缓存: 如memcached分布式集群,用于存放一些数据一致性的数据。 2.单体架构特点与缺点: (1).优点: 项目结构简单、开发成本低、周期短. 项目布署较简单. 单体项目中模块众多,所有功能都集中在一个项目中. 在项目需求简单、用户量很少的情况下可以选择. (2).缺点: 所有功能都要打成war...

  4Sc2EobNVfno   2023年11月02日   35   0   0 本地缓存数据缓存

集群/垂直架构缓存: 1集群架构(1-2): 集群架构1:a.所有业务都访问同一个集中式缓存.b.业务是混合进行部署,业务划分不清楚. 集群架构2(多个应用单独部署):a.不同的业务做独立的划分,独立的部署.b.每种业务使用独立缓存,从业务层将缓存进行互相隔离,防止互相影响.c.业务项目根据一定的边界做了简单的拆分,分别做了集群部署.=>推荐DDDd.业务间可以通过接口来访问. 2.集群架构3: 在一定程序降低了耦合度,当并发量增大时,使用本地缓存和集中式缓存二级缓存相结合的架构.a.将一些变化较少的数据放到本地缓存中,来抗并发.b.一些变化较多的数据放到集中式缓存中配合使用....

(1).提示:"saveImageToPhotosAlbum:failnotabsolutepath": 不能保存网络图片,不支持网络图片路径,可以是临时文件路径或永久文件路径 解决方案:a.使用getImageInfo去下载图片,而且还需要httpsb.主要是缓存在本地的时,会保存下一个临时文件c.再去使用这个方式去保存到本地的相册 2.授权: (1).逻辑分析: 查看用户申请过的权限中是否有"保存图片到相册":wx.getSetting(Objectobject)a.获取用户的当前设置b.返回值中只会出现小程序已经向用户请求过的权限c.如果接口调用回调函数返回成功,可以查看返回值中...

  4Sc2EobNVfno   2023年11月02日   44   0   0 文件路径网络图片保存图片

importTarofrom'@tarojs/taro'; import{View,Image,Text}from'@tarojs/components'; importIconFontfrom'@/components/iconfont'; import{toast,getImg}from'@/utils/util'; import'./index.scss'; classShareVipextendsTaro.PureComponent{ constructor(props){ super(props); } config={ navigationBarTitleText:'分享得会员...

  4Sc2EobNVfno   2023年11月02日   38   0   0 ImagetaroText

(1).小作坊方案: 优点:a.轻量化更新方案是非常使用小型开发团队b.快速、稳定、自动备份指定文件夹(灵活性高,但是需要自己实现) 缺点:a.需要手动回滚(自动回滚需要编码)b.不太规范,没有留下记录c.敏感数据存储在电脑中(虽然配置文件可以git忽略) --- (2).核心流程: 打包项目 通过node-ssh连接线上服务器 将打包代码指定名称进行压缩 备份之前的代码,删除以前的代码包,并解压压缩包 删除本次打包代码,断开ssh链接

  4Sc2EobNVfno   2023年11月02日   63   0   0 自动备份压缩包回滚

4.添加文档: (1).指定文档ID: curl-XPUT"localhost:9200/lib/user/1?pretty"-H'Content-Type:application/json'-d'{ "name":"Jane", "age":32, "interests":["music"] }' 结果: { "_index":"lib", "_type":"user", "_id":"1", "_version":1, "result":"created", "_shards":{ "total":1, "successful":1,//成功了 "failed":0 }, "_seq_n...

  4Sc2EobNVfno   2023年11月02日   75   0   0 字段JSON自动生成

5.更新文档: (1).整个文档相同的key覆盖: curl-XPUT"localhost:9200/lib/user/1?pretty"-H'Content-Type:application/json'-d'{ "name":"David", "age":30, "interests":["music","driver"] }' { "_index":"lib", "_type":"user", "_id":"1", "_version":2, "result":"updated", "_shards":{ "total":1, "successful":1, "failed":0 }, ...

  4Sc2EobNVfno   2023年11月02日   100   0   0 字段JSON

6.删除一个文档: (1).删除文档: curl-XDELETE"localhost:9200/lib/user/1?pretty" { "_index":"lib", "_type":"user", "_id":"1", "_version":4, "result":"deleted", "_shards":{ "total":1, "successful":1, "failed":0 }, "_seq_no":3, "_primary_term":1 } (2).删除索引: curl-XDELETE"localhost:9200/lib?pretty" { "acknowledged...

  4Sc2EobNVfno   2023年11月02日   16   0   0 删除一个文档

7.批量获取文档: 使用es提供的MultiGetAPI,可以通过索引名、类型名、文档id一次得到一个文档集合.文档可以来自同一个索引库,也可以来自不同索引库. (1).批量获取指定文档所有字段: curl'http://localhost:9200/_mget'-H'Content-Type:application/json'-d'{ "docs":[ { "_index":"lib", "_type":"user", "_id":1 }, { "_index":"lib", "_type":"user", "_id":2 } ] }' 结果: { "docs":[ { "_index...

  4Sc2EobNVfno   2023年11月02日   58   0   0 字段JSONAPI

8.使用BulkAPI实现批量操作: (1).bulk的格式: {action:{metadata}}\n//json格式 {requstbody}\n//请求体 注: ①.Bulk是通过\n来进行解析的. ②.action(行为),表示什么操作: a.create:文档不存在时创建 b.update:更新文档 c.index:创建新文档或替换已有文档 d.delete:删除一个文档 e.如果数据存在,使用create操作失败,会提示文档已经存在,使用index则可以成功替换执行. ③.metadata,要操作的数据,需要指定_index、_type、_id. (2).批量添加: cu...

  4Sc2EobNVfno   2023年11月02日   30   0   0 JavaJSONPython

(3).综合: curl-XPOST'http://localhost:9200/lib2/books/_bulk?pretty'-H'Content-Type:application/json'-d'{"delete":{"_index":"lib2","_type":"books","_id":4}} {"create":{"_index":"tt","_type":"ttt","_id":"100"}} {"name":"lisi"} {"index":{"_index":"tt","_type":"ttt"}} {"name":"zhaosi"} {"update":{"_index...

  4Sc2EobNVfno   2023年11月02日   44   0   0 配置文件搜索elasticsearch

用于搜索肯定存在并发的问题,当多个用户操作多个文档时,很容易出现数据不一致的问题. 原理: es采用了乐观锁来保证数据的一致性. 当用户对document进行操作(增删改)时,并不需要对该document作加锁和解锁的操作,只需要指定要操作的版本即可. 可以简单的理解为:用户每次操作这个文档,版本号都会+1,当出现并发情况时,这个用户到底能不能执行,就看当前用户的版本号是否跟文档的版本号一致. 当版本号一致时,es会允许该操作顺利执行,而当版本号存在冲突时,es会提示冲突并抛出异常(VersionConflictEngineException异常). 内部版本控制: 使用的是_v...

  4Sc2EobNVfno   2023年11月02日   56   0   0 字段版本号增删改

3.外部版本控制: (1).什么时候做为外部版本控制? 一般是用es来做搜索的,通常项目中还会用到redis数据库、oracle数据库.(通常用的是时间戳来做版本控制的),会把关系型数据库的数据导到es中. 这时,希望es的版本控制与关系型数据库版本保持一致. es在处理外部版本号时,不再是检查_version是否与请求中指定的数值相同,而是检查当前的_version是否比指定的数值小. 如果请求成功,那么外部的版本号就会被存储到文档中的_version中. (2).设置外部版本: curl-XPUT"localhost:9200/lib/user/1/_update?version=2...

  4Sc2EobNVfno   2023年11月02日   90   0   0 关系型数据库版本控制版本号

(1).创建表结构: PUT/books { "mappings":{ "properties":{ "book_id":{"type":"integer"}, "book_name":{"type":"text"}, "book_intr":{"type":"text"}, "book_price1":{"type":"float"}, "book_price2":{"type":"float"}, "book_author":{"type":"keyword"}, "book_date":{"type":"date"}, "book_kind":{"type":"integer"} } ...

  4Sc2EobNVfno   2023年11月02日   25   0   0 创建表
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~