Lai
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
redis-探店&关注

redis-探店&关注

1 达人探店1.1 分享探店图文1.1.1 发布探店笔记涉及两个数据库表: tb_blog:探店笔记表,包含笔记中的标题、文字、图片等 tb_blog_comments:其他用户对探店笔记的评价 发布流程: 123456789101112131415161718192021222324@Slf4j@RestController@RequestMapping("upload"
2024-03-10
redis
#redis
redis-秒杀优化

redis-秒杀优化

1 Redis实现秒杀优化1.1 秒杀流程1、查询优惠卷 2、判断秒杀库存是否足够 3、查询订单 4、校验是否是一人一单 5、扣减库存 6、创建订单 在流程上,这是同步操作,即:会按照顺序进行执行,但是这样一个一个执行会有一个很大的缺陷:效率很低。那么是否可以提高效率呢? 可以:使用异步进行优化。 将耗时比较短的逻辑判断放入到redis中,比如是否库存足够,比如是否一人一单,这样的操作,只要这种
2024-03-10
redis
#redis
reids-分布式锁

reids-分布式锁

1 分布式锁在之前分析过,集群模式下的一人一单存在问题,其根源就在锁监视器上。因此需要一个分布式锁,满足分布式系统或集群模式下多进程可见并且互斥的锁。 核心思想:让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行。 1.1 分布式要求 可见性:多个线程都能看到相同的结果,注意:这个地方说的可见性并不是并发编程中指的内存可见性,只是说多个进程之间都能
2024-02-25
redis
#redis
reids-优惠券秒杀

reids-优惠券秒杀

0 目录 1 全局ID生成器1.1 背景使用数据库自增ID会存在两个问题: id的规律性太明显(如果我们的id具有太明显的规则,用户或者说商业对手很容易猜测出来我们的一些敏感信息,比如商城在一天时间内,卖出了多少单,这明显不合适) 受单表数据量的限制(随着我们商城规模越来越大,mysql的单表的容量不宜超过500W,数据量过大之后,我们要进行拆库拆表,但拆分表了之后,他们从逻辑上讲他们是同一张表
2024-02-25
redis
#redis
mybatis-缓存&逆向工程&分页插件

mybatis-缓存&逆向工程&分页插件

1 缓存1.1 一级缓存 是默认开启的 是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问。 1.1.1 一级缓存失效 不同的SqlSession对应不同的一级缓存 同一个SqlSession但是查询条件不同 同一个SqlSession两次查询期间执行了任何一次增删改操作 同一个SqlSession两次查
2024-02-20
mybatis
#mybatis
mybatis-动态SQL

mybatis-动态SQL

Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决 拼接SQL语句字符串时的痛点问题。 1 ifif标签可通过test属性的表达式进行判断,若表达式的结果为true,则标签中的内容会执行;反之标签中 的内容不会执行 12345678910111213<!--List<Emp> getEmpListByMoreTJ(Emp em
2024-02-20
mybatis
#mybatis
mybatis-特殊SQL执行&自定义resultMap

mybatis-特殊SQL执行&自定义resultMap

1 特殊SQL1.1 模糊查询在SQL语句中,使用like关键字进行查询 推荐使用 ${} concat “%”#{}”%” 1.2 批量删除由于#{}会自动添加””,因此在批量删除的时候使用${} 1.3 动态设置表名 1.4 获取自增主键 注: 在标签中, 使用userGeneratedKeys表示当前添加功能使用自增的主键 使用keyProperty表示将添加的数据自增主
2024-02-20
mybatis
#mybatis
mybatis-参数获取&查询

mybatis-参数获取&查询

0 目录 1 参数获取MyBatis获取参数值的两种方式:${}和#{} ${}的本质就是字符串拼接,**#{}的本质就是占位符赋值** ${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号; 但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号。 1.1 单个字面量若mapper接口中的方法参数为单个
2024-02-19
mybatis
#mybatis
mybatis-环境搭建

mybatis-环境搭建

0 目录 1 Maven工程 设置打包方式 1234<groupId>com.xxxx.xxx</groupId><artifactId>MyBatis</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging> 引入依赖
2024-02-19
mybatis
#mybatis
redis-缓存

redis-缓存

0 目录 1 什么是缓存缓存就是数据交换的缓冲区(称作Cache),是存储数据的临时地方,一般读写性能较高 1.1 作用 降低后端负载 提高读写效率,降低响应时间 1.2 成本 数据一致性成本 代码维护成本 运维成本 2 添加Redis缓存 即:在客户端和数据库之间加一层redis,这样就可以减轻数据库的压力。 3 缓存更新策略 3.1 具体业务场景 低一致性需求:使用内存淘汰机制。例如店
2024-02-18
redis
#redis
12345

搜索

Hexo Fluid
总访问量 次 总访客数 人