摘要:
Vue.js 是一个提供了MVVM (Model-View-ViewModel的)风格的双向数据绑定的Javascript 库,专注于View 层。它的核心是 MVVM 中的 VM,也就是 ViewModel。让我们将视图 UI 和业务逻辑分开。 1 插值表达式 (双大括号) 的文本插值 {{mes 阅读全文
摘要:
DSL 是一种采用JSON格式的查询 #查看所有索引 GET /_cat/indices?v #删除某个索引 DELETE /skuinfo #新增索引 PUT /user #创建映射 PUT /user/userinfo/_mapping { "properties": { "name":{ "t 阅读全文
摘要:
1》docker中安装mysql容器 开启binlog模式 修改/etc/mysql/mysql.conf.d/mysqld.cnf docker exec -it mysql /bin/bash cd /etc/mysql/mysql.conf.d vi mysqld.cnf 添加这两行 2》创建 阅读全文
摘要:
为了防止用户的恶意访问,可以在在nginx设置限流,防止服务发生雪崩效应 Nginx限流分为两种 一是根据ip控制速率 二是控制并发连接数 1》 根据ip控制速率限流的配置 在http模块添加配置 binary_remote_addr 是一种key,表示基于 remote_addr(客户端IP) 来 阅读全文
摘要:
OpenResty是国人章亦春发起的一个开源项目,可以理解成封装了nginx,并且集成了LUA脚本,足以胜任 10K 乃至 1000K 以上单机并发连接。 首页的访问频率一般都比较高,对于首页上的广告位,广告变更频率比较低,可以利用缓存提高访问速度 广告位缓存架构图 openresty安装 1》添加 阅读全文
摘要:
商品表的设计,商品表一般包含两个表,SPU表和SKU表 SPU = Standard Product Unit 通俗讲就是同款商品的公共属性 SKU=stock keeping unit 通俗讲就是某个库存单位的商品独有属性 **华为P30 就是一个 SPU** **华为P30 红色 64G 就是一 阅读全文
摘要:
FastDFS是由国人余庆开发的,采用c语言编写。轻量级的分布式文件系统。充分考虑了冗余备份、负载均衡、线性扩容等机制,解决了大容量存储问题。 FastDFS由两个组件组成。TrackerServer 和 StorageServer 组成。 TrackerServer 负责调度和负载均衡。被称为调度 阅读全文
摘要:
这是秒杀接口的伪代码 1) 判断用户是否重复秒杀 if(判断redis中该用户秒杀结果){ sout(请不要重复秒杀) return } 2)redis预减库存 if(判断redis中该用户预减库存标识){ sout(正在排队中) return }else{ redis预减库存 设置该用户的预减库存 阅读全文
摘要:
采用注解的方式 1)定义一个注解 @Retention(RUNTIME) @Target(METHOD) public @interface AccessLimit { int seconds(); int maxCount(); } 2)在需要限流的方法前加这样的注解 @AccessLimit(s 阅读全文
摘要:
什么是超卖 库存只有1个,当有两个线程过来后,都执行成功了,生成了两个订单,这就是超卖 避免超卖的发生 下面的代码还是会发生超卖。虽然减库存,生成订单在同一个事务,也对修改库存做了限制,但是即使stock_count变为0了,这个减库存的sql操作也不会报错,导致后面的生成订单就会正常执行 导致库存 阅读全文
摘要:
前后端分离指的是前端采用纯html页面,通过ajax向后台请求数据。 使用前后端分离的原因,通过在后台设置参数,可以控制html在游览器的缓存时间,游览器访问页面时不需要向后台发送请求。减少了后台服务器的压力。 判断游览器是否取的是缓存:Cache-Control : max-age= 3600 响 阅读全文
摘要:
有时候我们要在controller层每个方法中判断用户是否已经登录了,假如一个一个去判断的话会很繁琐。可以采用HandlerMethodArgumentResolver来进行参数自动注入 1 自定义参数解析类UserArgumentResolver ,并将其注入到了argumentResolvers 阅读全文