首页
标签页
后端开发
理论知识笔记
关于
Haenu的Blog
坚持学习,慢慢进步!
累计撰写
35
篇文章
累计创建
10
个标签
累计收到
2
条评论
栏目
目 录
CONTENT
以下是
Haenu
的文章
积分系统设计(签到/排行榜)
数据库结构 积分记录的目的有两个:一个是统计用户当日某一种方式获取的积分是否达到上限;一个是统计积分排行榜。 排行肯定是有时间/赛季的 所以我们需要创建一个实体 用来记录赛季信息 赛季名称 赛季开始时间 赛季结束时间 排行榜也不复杂,核心要素包括: 用户id 本赛季当前积分 本赛季当前排名 当然,由
2024-08-15
110
0
0
后端开发
点赞系统
点赞系统 通用:点赞业务在设计的时候不要与业务系统耦合,必须同时支持不同业务的点赞功能 独立:点赞功能是独立系统,并且不依赖其它服务。这样才具备可迁移性。 并发:一些热点业务点赞会很多,所以点赞功能必须支持高并发 安全:要做好并发安全控制,避免重复点赞 第一版实现思路 如果避免重复点赞那么我们需要有
2024-08-15
81
0
0
后端开发
IO多路复用
Socket 套接字。对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。例子:客户端将数据通过网线发送到服务端,客户端发送数据需要一个出口,服务端接收数据需要一个入口,这两个“口子”就是Socket。 FD 文件描述符,非负整数。“一切皆文件”,linux 中的一切资源都可以通过文件的方式访
2024-08-15
32
0
0
OS
为什么Mysql不允许在RC情况下使用statement?
MySQL在主从复制的过程中,数据的同步是通过binlog进行的, 简单理解就是主服务器把数据变更记录到binlog中,然后再把binlog同步传输给从服务器,从服务器接收到binlog之后,再把其中的数据恢复到自己的数据库存储中。 那么,binlog里面记录的是什么内容呢?格式是怎样的呢?MySQ
2024-07-18
52
0
0
后端开发
关于Mysql页分裂现象
主键索引最好是自增的 我们在建表的时候,都会默认将主键索引设置为自增的,具体为什么要这样做呢?又什么好处? InnoDB 创建主键索引默认为聚簇索引,数据被存放在了 B+Tree 的叶子节点上。也就是说,同一个叶子节点内的各个数据是按主键顺序存放的,因此,每当有一条新的数据插入时,数据库会根据主键将
2024-07-16
40
0
0
后端开发
有关双写一致性-延迟双删
所谓延迟双删,其实是: 1、先删除缓存 2、更新数据库 3、删除缓存 第一次删除的作用 第一次之所以要选择先删除缓存,而不是直接更新数据库,主要是因为先写数据库会存在一个比较关键的问题,那就是缓存的更新和数据库的更新不是一个原子操作,那么就存在失败的可能性。 如果写数据库成功了,但是删缓存失败了!那
2024-07-14
45
0
0
后端开发
敏感数据的优雅加密方式
方式一: 根据AOP切面进行数据的加密,经过层层的递归进行查找数据 方式二:自定义反序列化器 package com.haenu.shortlink.common.serial
2024-06-26
33
0
0
后端开发
Java中的Stream流
函数式编程-Stream流 1. 概述 1.1 为什么学? 能够看懂公司里的代码 大数量下处理集合效率高 代码可读性高 消灭嵌套地狱 //查询未成年作家的评分在70以上的书籍 由于洋流影响所以作家和书籍可能出现重复,需要进行去重 List&
2024-06-26
23
0
0
理论知识笔记
Mysql45-一条更新语句是如何执行的
一条更新语句是如何执行的 和查询很像,连接器,分析器,优化器,执行器,不过和查询不同的是,更新流程还涉及到日志模块。 redolog 当有一条记录需要更新的时候,Innodb引擎就会先把记录写到redo log里面,并更新内存,这个时候更新就完成了,同时innodb引擎会在适当的时候,将这个操作记录
2024-06-26
24
0
0
Mysql
mysql45讲之 一条查询语句是如何执行的
mysql45讲 第一讲,一个查询语句是如何执行的。 mysql可以分为 server层和存储引擎层。 server层包括连接器,查询缓存,分析器,优化器,执行器等。 存储引擎负责数据的存储和提取。默认使用innodb,在建表时可以自行选择 连接器 连接器负责跟客户端建立连接,获取权限,管理和维持连
2024-06-26
29
0
0
Mysql
1
2
3
4