一般在数据库查询压力比较大,高并发要求比较高,读写速度要求比较高的场景下,我们会引入redis缓存。因为redis缓存本身基于内存进行操作,相对于基于磁盘的数据库来说,在速度并发上面有一个数量级以上的差距。
但是redis缓存的引入同样会增加系统复杂性以及带来一系列问题,比如:
缓存和数据库数据一致性问题
缓存失效问题,伴生的缓存预热,缓存击穿,缓存雪崩等……继续阅读 »
悠悠
2年前 (2022-06-25) 3452浏览 0评论
4个赞
概述
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一。
可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。
格式:sar [options] [-A] [-o file] t [n]
追……继续阅读 »
悠悠
3年前 (2022-03-30) 2612浏览 0评论
2个赞
Redis6.2.6源码CLion编译调试
准备工作
C语言的运行和构建工具介绍
C语言是编译型语言,需要编译生成.o的目标文件,然后用链接器连接目标代码才能生成可执行文件,Windows下就是生成.exe文件。如果文件之间互相依赖,则需要把所有源文件都编译才可运行。
然而大型项目中,源文件非常多,需要使用make工具来批量编译源文件,通过编写规则文件Mak……继续阅读 »
悠悠
3年前 (2022-03-28) 3334浏览 2评论
0个赞
RESTful API 概述
基本概念
REST 英文全称:Representational State Transfer,直译为:表现层状态转移。首次是由Roy Thomas Fielding在他2000年的博士论文中提出。
REST是一种描述网络中client和server之间的资源交互方式。
而RESTful API就是完全遵循REST方式的一套API……继续阅读 »
悠悠
5年前 (2019-11-04) 4466浏览 3评论
28个赞
Linux环境变量配置
在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法。
下面所有例子的环境说明如下:
系统:Ubuntu 14.0
用户名:uusama
需要配置MySQL环境变量路径:/home/uusama/mysql/bin
Linux读取环境变量
读取环境变量的方法:
export命令显示当前系统定义的所有环……继续阅读 »
悠悠
6年前 (2019-04-09) 6224浏览 0评论
12个赞
ibdata1文件过大
原因分析
ibdata1是一个用来构建innodb系统表空间的文件,关于系统表空间详细介绍参考MySQL官网文档
上面是一个数据库的ibdata1文件,达到了780多G,而且还在不断增长。
这个文件包含了innodb数据字典、修改buffer和双写buffer、撤销日志,还包含在用户在系统表空间创建的表信息和索引数据。
显然,由于所……继续阅读 »
悠悠
6年前 (2019-03-18) 4535浏览 0评论
1个赞
ER_NOT_SUPPORTED_AUTH_MODE
报错详情
使用nodejs连接数据库时报错:
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL c……继续阅读 »
悠悠
6年前 (2019-02-27) 3878浏览 0评论
1个赞
任何系统都有可能会出现问题,出现问题时我们的第一反应是为什么会出错?出错时发生了什么?如何复现?
如果你记录了完善的日志,那么只要一看日志,你就能快速知道程序出现错误时究竟发生了什么,进而追溯到导致错误发生的原因,从而修复问题。
可以说一个日志记录是一个完善的系统必不可少的一部分。本文简单探讨为什么记录日志,怎么记录日志以及记录日志的方法。
应用层日志作用
……继续阅读 »
悠悠
6年前 (2018-09-25) 3989浏览 0评论
6个赞
概述
一般来说数据库结构一经设计,不能轻易更改,因为更改DDL(Data Definition Language)操作代价很高,所以在进行数据库结构设计时需要谨慎。
但是业务发展是未知的,特别是那些变化很大的业务,所以不可避免的需要修改数据库结构,本文主要对MySQL5.6+ InnoDB存储引擎字段的修改进行探讨。
对于不同的场景,所使用的方式也会大不相同……继续阅读 »
悠悠
6年前 (2018-08-27) 6361浏览 1评论
7个赞
几个示例
在Linux命令行,使用date命令可以很方便处理日期时间字符串。
# 今天的日期:20180730,+号前面有空格,后面没有空格
date +"%Y%m%d"
# 昨天的日期
date -d "1 day ago" +"%Y%m%d"
# 在字符串中使用
echo $(date +"%Y%m%d")
date命令
使用方式
date命令的两……继续阅读 »
悠悠
6年前 (2018-07-30) 3887浏览 1评论
1个赞