首页
学习
活动
专区
工具
TVP
发布

技术杂货店

专栏作者
317
文章
181542
阅读量
25
订阅数
完蛋,我的事务怎么不生效?
事务大家平时应该都有写,之前写事务的时候遇到一点坑,居然不生效,后来排查了一下,复习了一下各种事务失效的场景,想着不如来一个总结,这样下次排查问题,就能有恃无恐了。那么先来复习一下事务相关知识,事务是指操作的最小工作单位,作为一个单独且不可切割的单元操作,要么全部成功,要么全部失败。事务有四大特性(ACID):
秦怀杂货店
2022-02-17
6290
如何用Docker Compose部署项目?
之前我们用docker部署了springboot,redis,mysql的项目,但是是部署在三个不同的容器里,还需要先知道redis和mysql的ip地址,手动配置到springboot应用容器里,我只是想快速在本地进行测试啊,这样成本太高了,有没有什么办法,把他们集中管理呢?比如把它构建成为一个镜像。
秦怀杂货店
2022-02-17
2K0
面试官说:你来设计一个短链接生成系统吧
相信大家在生活中,特别是最近的双十一活动期间,会收到很多短信,而那些短信都有两个特征,第一个是几乎都是垃圾短信,这个特点此处可以忽略不计,第二个特点是链接很短,比如下面这个:
秦怀杂货店
2022-02-17
6370
讲分布式唯一id,这篇文章很实在
分布式系统全局唯一的 id 是所有系统都会遇到的场景,往往会被用在搜索,存储方面,用于作为唯一的标识或者排序,比如全局唯一的订单号,优惠券的券码等,如果出现两个相同的订单号,对于用户无疑将是一个巨大的bug。
秦怀杂货店
2022-02-17
3940
【实战问题】-- 缓存穿透之布隆过滤器(1)
前面我们【实战问题】-- 缓存穿透,缓存击穿和缓存雪崩的区别以及解决方案 提到,在防止缓存穿透的情况(缓存穿透是指,缓存和数据库都没有的数据,被大量请求,比如订单号不可能为-1,但是用户请求了大量订单号为-1的数据,由于数据不存在,缓存就也不会存在该数据,所有的请求都会直接穿透到数据库。),我们可以考虑使用布隆过滤器,来过滤掉绝对不存于集合中的元素。
秦怀杂货店
2022-02-15
4350
【实战问题】-- 缓存穿透,缓存击穿和缓存雪崩的区别以及解决方案
平时我们使用缓存的方案,一般是在数据库中存储一份,在缓存中同步存储一份。当请求过来的时候,可以先从缓存中取数据,如果有数据,直接返回缓存中的结果。如果缓存中没有数据,那么去数据库中取出数据,同时更新到缓存中,返回结果。如果数据库中也没有数据,可以直接返回空。
秦怀杂货店
2022-02-15
3750
【实战问题】-- 聊聊礼品领取的架构设计中setnx相关的细节
前面 【实战问题】-- 设计礼品领取的架构设计以及多次领取现象解决? 讲解到,如果出现网络延迟的情况下,多个请求阻塞,那么恶意攻击就可以全部请求领取接口成功,而针对这种做法,我们使用setnx来解决,确保只有一个请求可以进入接口请求。
秦怀杂货店
2022-02-15
4010
【实战问题】-- 设计礼品领取的架构设计以及多次领取现象解决?
现在 有一个场景,领取礼品,每个用户有次数限制,用户通过前端点击,调用了应用A的接口,里面调用了服务B,服务B里面去调用了服务C,注意服务C是其他部门的服务。服务C负责真正的发放礼品。(假设这个服务C我们是不可修改的,A,B是自己团队负责的,并且可能出现高并发的情况)
秦怀杂货店
2022-02-15
3980
Mybatis【21】-- Mybatis一级缓存查询
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-17-sqlsessionCache,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星。
秦怀杂货店
2022-02-15
3870
Mybatis【10】-- Mybatis属性名和查询字段名不同怎么做?
很多时候我们有这样的需求,数据库的字段名与实体类的属性名不一致,这个时候我们需要怎么做呢?有两种解决方案:
秦怀杂货店
2022-02-15
3650
Mybatis【5】-- Mybatis增删改查你会了么?
前面我们学会了Mybatis如何配置数据库以及创建SqlSession,那怎么写呢?crud怎么写?
秦怀杂货店
2022-02-15
6080
Mybatis【4】-- Mybatis关于别名的定义
其实在我们实际开发中,大多数情况下,一个mapper.xml文件对应的是对一个对象的操作,当前的mapper如下:
秦怀杂货店
2022-02-15
5030
Mybatis【3】-- 封装工具类读取数据库配置以及获取SqlSession对象
在上一个demo中,处理了多个namespace的问题,那么我们可以看到代码还是会有一定的冗余,比如下面这段代码中我们每一个增删改查操作都需要读取一遍配置文件:
秦怀杂货店
2022-02-15
4340
Mybatis【2.3】-- Mybatis一定要commit才能成功修改数据库么?
如果是不支持事务的引擎,如myisam,则是否commit都没有效的。如果是支持事务的引擎,如innodb,则有系统参数设置是否自动commit,查看参数如下:
秦怀杂货店
2022-02-15
4290
Mybatis【2】-- 多个mapper文件以及namespace作用
要是多个mapper文件的时候怎么处理,namespace又是干什么用的呢 首先我们来看创建数据库语句:
秦怀杂货店
2022-02-15
7500
Mybatis【1】-- 第一个Mybatis程序
Mybatis本来是Apache的一个开源项目iBatis,这个项目2010年由Apache迁移到了Google,更名为Mybatis,2013年正式迁移到Github。
秦怀杂货店
2022-02-15
2290
JDBC【5】-- JDBC预编译和拼接Sql对比
数据库名字是test,数据表的名字是student,里面有四个字段,一个是id,也就是主键(自动递增),还有名字,年龄,成绩。最后先使用sql语句插入六个测试记录。
秦怀杂货店
2022-02-15
1.1K0
JDBC【2】-- JDBC工作原理以及简单封装
首先声明:这个阶段在1.6之后就不需要手动执行了,也就是这个代码不需要了!!!分析它有利于理解流程。
秦怀杂货店
2022-02-15
5270
JDBC增删改查初级使用
数据库名字是test,数据表的名字是student,里面有四个字段,一个是id,也就是主键(自动递增),还有名字,年龄,成绩。最后先使用sql语句插入六个测试记录。
秦怀杂货店
2022-02-15
5040
数据库批量插入这么讲究的么?
最近新的项目写了不少各种 insertBatch 的代码,一直有人说,批量插入比循环插入效率高很多,那本文就来实验一下,到底是不是真的?
秦怀杂货店
2022-01-04
8490
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档