摘要: 写在卸载之前 一个蒟蒻无力的挣扎 如果你是在阅读本人的博文来实现俄罗斯方块 在实现俄罗斯方块之前 本人建议先左转贪吃蛇 正式开始 本来还是想秉持拿来主义 像贪吃蛇一样从网上随随便便找一个拿来写写 但是由于网上的俄罗斯方块 实在是要么看不懂要么运行不了这话好像已经说过了 所以没有办法 只好自己手写一个 阅读全文
posted @ 2021-03-10 18:41 tcswuzb 阅读(803) 评论(0) 推荐(0)
摘要: 写在卸载之前 一个蒟蒻无力的挣扎 正式开始 首先 为了保证代码的大部分你可以看懂 你需要具备类与对象的前置知识 可以看看这里 使用C++实现贪吃蛇 尽管网上已经存在很多版本 但是 要么看不懂 要么连运行都运行不了 所幸 还是找到了一篇可以看懂的博客 本代码大多数都是从这篇博客借鉴抄袭而来 由于AI智 阅读全文
posted @ 2021-03-10 16:32 tcswuzb 阅读(2097) 评论(0) 推荐(3)
摘要: 写在卸载之前 其实C++这门计算机语言目前只能说会也就是入门 但是不能说精通 所以最近会学一些东西然后不定期整理上去 允许我夹带一波私货 正式开始 一.oct,hex,dec ta们伴随cout分别输出八进制,十六进制,十进制 #include<bits/stdc++.h> using namesp 阅读全文
posted @ 2021-02-23 19:30 tcswuzb 阅读(151) 评论(0) 推荐(1)
摘要: Day 1 简要的说了些注意事项 一整天都在刷树套树的水题 退役的感觉近了 Day 0 早上收拾好东西去了火车站之后 火车站居然还没有开门 等了半天 我们是从衡水到德州再到秦皇岛 到了德州之后 去车站吃了肯德基 然后做了三个多小时的车 到了燕大宾馆之后 发下行李 先吃了饭 然后去试机 试机之后 下午 阅读全文
posted @ 2019-04-24 19:51 tcswuzb 阅读(447) 评论(0) 推荐(4)
摘要: 也不知道写一些什么了 凑和着写写吧 最近十分的¥#&(^ ……#%!*%¥^#$# Day -1 上午考了一场试 就\(TM\)考了60分 好不容易积攒起来的信心啊~~~~~~ 就这么垮了~~~ 下午每一个人把考前注意事项好好的说了一下 大抵都是什么 1.不开\(long\ \ long\)见祖宗 阅读全文
posted @ 2019-03-24 21:16 tcswuzb 阅读(502) 评论(1) 推荐(4)
摘要: 羽根が千切れ散っても 分布式缓存(下) Redis哨兵 slave节点宕机恢复后可以找master节点同步数据,而master节点宕机的话,数据可以通过数据持久化来恢复,但是外界的读操作和写操作此时被阻塞了。 我们希望在Redis主从集群搭建完成后,在Master宕机的情况会有Slave来紧急替换M 阅读全文
posted @ 2026-05-09 21:41 tcswuzb 阅读(0) 评论(0) 推荐(0)
摘要: 空がどんな高くても 分布式缓存 单点Redis面临的问题: 数据丢失问题:Redis是内存存储,服务重启可能会丢失数据 并发能力问题:单节点Redis并发能力虽然不错,但也无法满足高强度高并发场景 故障恢复问题:如果Redis宕机,则服务不可用,需要一种自动的故障恢复手段 存储能力问题:Redis基 阅读全文
posted @ 2026-05-09 19:20 tcswuzb 阅读(2) 评论(0) 推荐(0)
摘要: Ah! 光を追いかけてきたんだよ… 啊NMD这么多天终于把Redis实战的光追完了 UV统计 UV 搞懂两个概念: UV:全称Unique Visitor,也叫独立访客量,是指通过互联网访问、浏览这个网页的自然人。1天内同一个用户多次访问该网站,只记录1次。 PV:全称Page View,也叫页面访 阅读全文
posted @ 2026-05-09 02:40 tcswuzb 阅读(2) 评论(0) 推荐(0)
摘要: Ah! ほのかな予感から始まり 用户签到功能 按月来统计用户签到信息,签到记录为1,未签到则记录为0,一个月最多31天,把每一个bit位对应当月的每一天,形成了映射关系。用0和1标示业务状态,这种思路就称为位图(BitMap) RedisのBitMap Redis中是利用String类型数据结构实现 阅读全文
posted @ 2026-05-09 02:04 tcswuzb 阅读(2) 评论(0) 推荐(0)
摘要: だってだって、いまが最高! 附近商铺 GEO GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有: GEOADD:添加一个地理位置信息,包含:经度(longitude)、纬度(lat 阅读全文
posted @ 2026-05-08 23:49 tcswuzb 阅读(3) 评论(0) 推荐(0)
摘要: No no no いまが最高! 好友关注 关注和取关 为了便于接下来的操作,同时使用Redis和数据库维护(数据库操作尽量做成异步阻塞操作才、才不是因为麻烦所以不想做呢) 实现代码如下: // 控制层 @RestController @RequestMapping("/follow") public 阅读全文
posted @ 2026-05-08 18:35 tcswuzb 阅读(2) 评论(0) 推荐(0)
摘要: 切なくて時をまきもどしてみるかい? 网红探店 探店齁币多,真假雷神说 发布探店笔记 实现代码如下: // 控制层方法 @RestController @RequestMapping("/blog") public class BlogController { @Autowired private B 阅读全文
posted @ 2026-05-07 20:09 tcswuzb 阅读(4) 评论(0) 推荐(0)
摘要: 夢の中で描いた絵のようなんだ Redis消息队列实现异步秒杀 需求: 创建一个Stream类型的消息队列 修改之前的秒杀下单Lua脚本,在认定有抢购资格后,直接向消息队列中添加消息 项目启动时,开启一个线程任务,尝试获取消息队列中的消息,完成下单 创建消息队列 XGROUP CREATE Secon 阅读全文
posted @ 2026-05-07 02:25 tcswuzb 阅读(3) 评论(0) 推荐(0)
摘要: 夢の中で描いた絵のようなんだ 基于Redis实现的消息队列 消息队列 消息队列(MessageQueue),字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色: 消息队列:存储和管理消息,也被称为消息代理(MessageBroker) 生产者:发送消息到消息队列 消费者:从消息队列获取消息 阅读全文
posted @ 2026-05-06 23:51 tcswuzb 阅读(3) 评论(0) 推荐(0)
摘要: 遠くへと広がる海の色暖かく 秒杀优化 判断优惠券库存以及一人一单都涉及到数据库操作,为了提高效率,将数据库操作优化为Redis操作。判断是否可以下单以及下单操作均在Redis中完成,而下单操作会存入异步阻塞队列中,后台服务器单开异步线程读取异步阻塞队列,完成数据库同步。示意图如下: 使用Redis维 阅读全文
posted @ 2026-05-06 20:28 tcswuzb 阅读(3) 评论(0) 推荐(0)
摘要: 旅立ちの日だよ Redisson 基于SETNX实现的分布式锁存在如下问题: 不可重入:同一个线程无法多次获取同一把锁 不可重试:获取锁只尝试一次就返回false,没有重试机制 超时释放:锁超时释放虽然可以避免死锁,但如果是业务执行耗时较长,也会导致锁释放,存在安全隐患 主从一致性:如果Redis提 阅读全文
posted @ 2026-05-06 01:18 tcswuzb 阅读(4) 评论(0) 推荐(0)
摘要: 小鳥の翼がついに大きくなって 分布式锁 集群下的线程并发安全问题 在集群环境下,每台机器对应一个JVM,都存在一个独立的锁监视器,而常规的线程锁synchronized只能保证一个JVM的多线程安全,在集群环境下下无法生效 基本原理和实现方式 分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的 阅读全文
posted @ 2026-05-05 20:48 tcswuzb 阅读(10) 评论(0) 推荐(0)
摘要: 夢の未来 君と僕のLIVE&LIFE 雷神点评——订单 订单ID 当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题: id的规律性太明显 受单表数据量的限制 全局ID生成器 全局ID生成器,是一种在分布式系统下用来生成全局唯一I 阅读全文
posted @ 2026-05-04 22:22 tcswuzb 阅读(5) 评论(0) 推荐(0)
摘要: 素敵だった未来に繋がった夢 雷神点评——商户查询缓存 由于商店数量较少,所以多次查询返回结果相同,且实际操作中往往查询操作占大多数,考虑使用缓存优化查询操作,避免多次访问数据库 缓存概念 缓存就是数据交换的缓冲区(称作Cache),是存贮数据的临时地方,一般读写性能较高。 缓存优缺点如下: 优点: 阅读全文
posted @ 2026-05-03 23:27 tcswuzb 阅读(3) 评论(0) 推荐(0)
摘要: 僕たちのこと 雷神点评——短信登录 原理:基于Session实现 我们实现短信登录的原理为基于Session实现,具体实现的短信登录流程流程如下: ①用户提交手机号并校验,服务端校验通过则生成验证码并保留验证码到本地Session,然后服务端发送验证码给用户 ②用户提交手机号和验证码,服务端校验验证 阅读全文
posted @ 2026-05-03 00:18 tcswuzb 阅读(4) 评论(0) 推荐(0)
摘要: また会おう 呼んでくれるかい? Redis的JAVA客户端 ‌Jedis‌是一个用Java编写的高性能Redis客户端,专为简化Java应用与Redis数据库之间的交互而设计,被广泛用于各类Java项目中。 Jedis核心功能与特性如下: ‌直接映射Redis命令‌: Jedis 提供了与Redis 阅读全文
posted @ 2026-04-30 23:27 tcswuzb 阅读(10) 评论(0) 推荐(0)
摘要: さよならは言わない Redis命令 通用命令 通用指令是部分数据类型的,都可以使用的指令,常见的有: KEYS:查看符合模板的所有key,不建议在生产环境设备上使用 DEL:删除一个指定的key EXISTS:判断key是否存在 EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除 阅读全文
posted @ 2026-04-30 16:02 tcswuzb 阅读(4) 评论(0) 推荐(0)
摘要: 光を追いかけてきた僕たちだから Redis Redis概念 ‌Redis是一个开源的高性能键值存储数据库‌(NoSQL)(Redis内存储的数据都是键值对),支持多种数据结构,广泛用于缓存、消息队列、实时分析等场景。 Redis基于内存存储数据,提供极高的读写性能(可达每秒数十万次操作),同时支持数 阅读全文
posted @ 2026-04-30 12:56 tcswuzb 阅读(4) 评论(0) 推荐(0)
摘要: 光を追いかけてきた僕たちだから 延迟消息 延迟消息是Rabbit消息可靠性的最终兜底机制 延迟消息:生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间之后才收到消息。 延迟任务:设置在一定时间之后才执行的任务 延迟消息实现 死信交换机 当一个队列中的消息满足下列情况之一时,就会成为 阅读全文
posted @ 2026-04-28 12:51 tcswuzb 阅读(5) 评论(0) 推荐(0)
摘要: 手を振ってもっと振って RabbitMQ可靠性 RabbitMQ 作为一款高性能、高可靠性的消息中间件,其核心设计思想之一就是保证消息的可靠传输。消息可靠性是指确保消息从生产者发送后,能够被消费者成功接收并处理至少一次(At least once)。 为了实现这一目标,需要从‌生产者发送‌、‌中间件 阅读全文
posted @ 2026-04-27 23:46 tcswuzb 阅读(4) 评论(0) 推荐(0)
摘要: 涙はいらない このまま踊ろう RabbitMQ-Java客户端 AMQP Advanced Message Queuing Protocol,是用于在应用程序之间传递业务消息的开放标准。该标准和平台、语言无关,更符合微服务中独立性的要求。 Spring AMQP,是基于AMQP协议定义的一套API规 阅读全文
posted @ 2026-04-26 22:24 tcswuzb 阅读(8) 评论(0) 推荐(0)
摘要: 離れたくないよ本当だよ RabbitMQ入门 RabbitMQ关键在于通过MQ队列实现了用户发送登录请求和登录请求处理的并行操作 同步/异步调用 同步调用 执行逻辑:阻塞式‌,调用方发起请求后,必须‌一直等待‌直到收到响应或超时,才能继续执行后续代码。调用线程在等待期间处于‌阻塞/空闲状态无法做其他 阅读全文
posted @ 2026-04-25 14:25 tcswuzb 阅读(12) 评论(0) 推荐(0)
摘要: みんなと出会えたこと嬉しくて IService接口 如果Mapper持久层可以简化的话,那么Service逻辑处理层代码同样也可以简化。这需要使用IService接口 IService接口通常指的是 ‌MyBatis-Plus‌ 框架中提供的通用Service层接口。它封装了常用的单表 CRUD(增 阅读全文
posted @ 2026-04-25 12:03 tcswuzb 阅读(5) 评论(0) 推荐(0)
摘要: No no no いまが最高! 自定义SQL 现在出现了一个更新操作:把部分员工的薪水集体添加666元 使用MyBatisPlus,利用BaseMapper<T>接口下的update方法和条件更新器LambdaUpdateWrapper实现如下 @Test void UpdateUserSalary 阅读全文
posted @ 2026-04-24 20:20 tcswuzb 阅读(6) 评论(0) 推荐(0)
摘要: drop table if exists user; create table user( id int primary key, name varchar(128) unique, team_id int, job_id int ); drop table if exists team; crea 阅读全文
posted @ 2026-04-24 16:24 tcswuzb 阅读(6) 评论(0) 推荐(0)
摘要: 切なくて時をまきもどしてみるかい? 读写分离 MyCat实现读写分离的核心原理是基于balance‌属性的配置。它通过拦截SQL语句,判断其类型(读或写),然后将请求路由到不同的物理数据库节点(DataNode)。 在配置文件schema.xml的<dataHost>标签中,balance属性决定了 阅读全文
posted @ 2026-04-23 15:58 tcswuzb 阅读(5) 评论(0) 推荐(0)
摘要: 夢の中で描いた絵のようなんだ 分库分表 随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存储,存在以下性能瓶颈: ①IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率较低。请求数据太多,带宽不够,网络IO瓶颈限制。 ②CPU瓶颈:排序、分组、连接查询 阅读全文
posted @ 2026-04-23 12:16 tcswuzb 阅读(5) 评论(0) 推荐(0)
摘要: 遠くへと広がる海の色暖かく 主从复制 主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库(Master)同时向多台从库(Slave)进行复制,从库同时也可以作为其他从服务器的 阅读全文
posted @ 2026-04-22 21:19 tcswuzb 阅读(5) 评论(0) 推荐(0)
摘要: 旅立ちの日だよ 日志 日志分为四类:错误日志,二进制日志,查询日志和慢查询日志 错误日志 错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 查看错误日志位置: 阅读全文
posted @ 2026-04-22 19:39 tcswuzb 阅读(4) 评论(0) 推荐(0)
摘要: 小鳥の翼がついに大きくなって MYSQL管理 MYSQL系统数据库 MYSQL安装完成自带四个系统数据库: MYSQL指令 mysql 客户端使用数据库指令 mysql -u用户名 数据库名 -p密码 -e SQL指令 mysqladmin mysqladmin是一个非交互式的Shell命令行工具, 阅读全文
posted @ 2026-04-22 12:34 tcswuzb 阅读(4) 评论(0) 推荐(0)
摘要: 最後まで(僕たちはひとつ) 逻辑存储结构 架构 ‌InnoDB架构主要由内存结构和磁盘结构两大部分组成‌ 内存结构 缓冲池(Buffer Pool)‌ 是主内存中的一块区域,用于缓存表和索引数据,减少磁盘I/O,提升读写效率。在专用服务器上,通常可占用高达80%的物理内存。 缓冲池以“页”为单位管理 阅读全文
posted @ 2026-04-21 22:09 tcswuzb 阅读(8) 评论(0) 推荐(0)
摘要: 世界を見つけた喜び(ともに)歌おう 锁 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、1/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也恳影响数据库并发访问性能的一个重 阅读全文
posted @ 2026-04-20 20:44 tcswuzb 阅读(9) 评论(0) 推荐(0)
摘要: こんなにも心がひとつになる 触发器 MySQL的触发器‌是一种特殊的存储过程,它在数据库表上发生特定事件(如INSERT、UPDATE或DELETE)时自动执行,无需手动调用。 核心特性: 自动触发‌:当对表进行DML操作时,触发器会根据预设条件自动执行相关SQL逻辑‌ 事件驱动‌:支持三种触发事件 阅读全文
posted @ 2026-04-20 13:03 tcswuzb 阅读(5) 评论(0) 推荐(0)
摘要: 忘れない いつまでも忘れない 存储函数 基本操作 创建存储函数 DELIMITER $$ CREATE FUNCTION function_name (param_name type [, ...]) RETURNS return_type [characteristic ...] BEGIN -- 阅读全文
posted @ 2026-04-20 11:17 tcswuzb 阅读(10) 评论(0) 推荐(0)
摘要: ずっと同じさ 友情の笑顔 存储过程 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用。 特点: ①封装, 阅读全文
posted @ 2026-04-20 11:03 tcswuzb 阅读(8) 评论(0) 推荐(0)
摘要: 花を咲かせるにっこり笑顔は 视图 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上 阅读全文
posted @ 2026-04-19 22:03 tcswuzb 阅读(8) 评论(0) 推荐(0)
摘要: Ah! 希望が星空駈けて MYSQL优化 插入优化 insert优化 存在三种方法:①批量插入 ②事务提交 ③主键顺序插入 大批量插入 使用load操作完成,分为三步: # 1.客户端连接服务器时,添加参数--local-infile mysql --local-infile -u root -p 阅读全文
posted @ 2026-04-19 18:49 tcswuzb 阅读(5) 评论(0) 推荐(0)
摘要: Ah! ほのかな予感から始まり 索引 索引(index茵蒂克丝)是帮助MYSQL高效获取数据的数据结构(有序)。在数据之外,数据库还维持着满足特定查找算法的数据结构,这些数据结构以特定方式引用或指向数据,从而在数据结构上实现高级查找算法。例如,二叉树、红黑树、B-tree。 优点: ①提高检索效率, 阅读全文
posted @ 2026-04-19 11:59 tcswuzb 阅读(8) 评论(0) 推荐(0)
摘要: ひらひらと夢みてたい どきどきの夢 MYSQL存储引擎 存储引擎简介 存储引擎是存储数据、建立索引、更新/查询数据等技术的实现方法。存储引擎是基于表的,而不是库,因此存储引擎也被称之为表类型 存储引擎相关操作 创建表时指定存储引擎 create table TableName( ... ) ENGI 阅读全文
posted @ 2026-04-17 23:35 tcswuzb 阅读(5) 评论(0) 推荐(0)
摘要: さあ恋になれと飛んでみなくちゃ MYSQL体系结构示意图 MYSQL体系结构 连接层 最上层是一些客户端和链接服务,主要完成工作类似于: 客户端连接处理(如TCP/IP、Socket连接) 用户身份认证(用户名、密码、SSL证书等) 连接权限验证 线程管理与连接池维护 服务器会为安全接入的每个客户端 阅读全文
posted @ 2026-04-17 22:39 tcswuzb 阅读(7) 评论(0) 推荐(0)