- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 虚拟机linux服务器ip修改
在 /etc/sysconfig/network-scripts/ifcfg-eno16777736文件里做如下配置IPADDR=192.168.3.60 #该网卡ip地址#systemctl stop firewalld #临时关闭防火墙#systemctl disable firewalld #禁止开机启动5.重启网络服务#service network restart...
2020-12-23 23:29:16
422
原创 Mysql事务隔离级别与锁机制
目录事务及其ACID属性原子性(Atomicity)一致性(Consistent)隔离性(Isolation)持久性(Durable)并发事务处理带来的问题脏写脏读不可重复读幻读事务隔离级别锁详解锁分类性能上分乐观锁悲观锁对数据库操作的类型分读锁写锁结论对数据操作的粒度分表锁结论行锁InnoDB与MYISAM的最大不同有两点:行锁演示结论测试事务隔离级别读未提交:读已提交可重复读串行化间隙锁(Gap Lock)事务及其ACID属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为
2020-11-26 17:02:25
828
原创 zookeeper源码构建与idea集群启动
目录GitHub下载源码服务端启动类启动配置客户端启动类集群启动GitHub下载源码//选择分支3.5.8https://github.com/apache/zookeeper.git maven版本不能太低我用的是3.6.3版本的然后在下载好的路径根目录编译执行mvn clean install -DskipTests将编译好的项目导入idea中服务端启动类org.apache.zookeeper.server.quorum.QuorumPeerMain启动配置1、将co
2020-11-26 09:54:04
368
1
原创 mysql分页,排序索引优化
建测试表-- 给name age position加联合索引CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄', `position` varchar(20) NOT NULL DEFAULT '' COMMEN
2020-11-25 18:38:51
935
原创 mysql索引优化设计原则
示例表-- 给name age position加联合索引CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄', `position` varchar(20) NOT NULL DEFAULT '' COMMENT
2020-11-25 16:11:17
140
原创 Github加速下载教程
目录打卡Tampermonkey地址安装谷歌这里会有这个下拉搜索 Greasyfork点进去搜索 Github 镜像访问 切换语言重新打开需要下载的git
2020-11-23 10:31:55
803
原创 mysql索引最佳使用案例
文章目录索引最佳实践全值匹配最左前缀法则索引列计算,索引失效存储引擎不能使用索引中范围条件右边的列尽量使用覆盖索引(只访问索引的查询(索引列包含查询列)),减少 select * 语句不等于不走索引is null,is not null 一般情况下也无法使用索引like以通配符%开头mysql索引失效会变成全表扫描操作前模糊查询会走索引字符串不加单引号索引失效少用or或in范围查询优化索引使用总结:-- mysql5.7关闭ONLY_FULL_GROUP_BY报错索引最佳实践示例表:CREATE TA
2020-11-20 11:14:51
242
原创 Zookeeper基本特性与节点数据
Zookeeper正是一个分布式应用协调框架什么是zookeeper官方文档上这么解释zookeeper,它是一个分布式协调框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。Zookeeper 核心概念Zookeeper 是一个用于存储少量数据的基于内存的数据库,主要有如下两个核心的概念:文件系统数据结构+监听通知机制。文件系统数据结构Zookeeper维护一个类似文件
2020-11-19 10:01:22
1292
原创 mysql的Explain使用
Explain工具介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中Explain分析示例参考官方文档 点这里示例表:DROP TABLE IF EXISTS `actor`; CREATE TABLE `actor` ( `id`
2020-11-16 17:38:49
837
原创 Redis使用性能优化(bigkey,清除策略)
一、键值设计key名设计可读性和可管理性(建议)以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idset trade:order:1//业务名:表名:id简洁性(建议)保证语义的情况下,减低key长度,key过长也占用内存空间user:{uid}:friends:messages:{mid} 简化为 u:{uid}:fr:m:{mid}不要包含特殊字符(强制)反例:包含空格、换行、单双引号以及其他转义字符value设计拒绝bigkey在Redis中
2020-11-16 15:40:40
944
原创 Redis缓存问题优化
缓存设计缓存穿透缓存穿透通常指,查询一下存储层(数据库)中不存在的数据,因为查询不到数据,所以一般来说不会将数据存放在缓存中,如果有人恶意针对性进行大量请求,那么就会直接穿透缓存直接攻击数据库,会造成数据库压力过大从而崩溃造成缓存穿透的基本原因有两个:第一, 自身业务代码或者数据出现问题。第二, 一些恶意攻击、 爬虫等造成大量空命中。缓存穿透问题解决方案:缓存空对象(伪代码)String get(String key) { // 从缓存中获取数据 String cacheValue =
2020-11-16 10:49:53
278
原创 Redis集群的水平扩展
Redis高可用集群之水平扩展基于上一篇Redis集群搭建的基础上做水平扩展之前的集群图启动之前搭建的集群/usr/local/redis-5.0.3/src/redis-server /usr/local/redis-cluster/8001/redis.conf/usr/local/redis-5.0.3/src/redis-server /usr/local/redis-cluster/8002/redis.conf/usr/local/redis-5.0.3/src/redis-ser
2020-11-11 23:15:04
197
原创 分布式--Redis搭建缓存高可用集群,集群工作原理
Redis缓存高可用集群(推荐redis-5.0之后)哨兵模式在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂性能和高可用性等各方面表现一般,特别是在主从切换的时候,花费时间较久,如果此时存在访问则比较弱势而且哨兵模式只有一个主节点对外提供服务,没法支持很高的并发且单个主节点内存也不宜设置得过大,否则会导致持久化文件过大,影响数据恢复或主从同步的
2020-11-08 21:46:25
633
原创 分布式--Redis持久化、主从与哨兵架构(工作原理)
Redis持久化、主从与哨兵架构redis持久化RDB快照(snapshot)在默认情况下,redis将内存数据,快照保存在名字未dump.rdb的二进制快照文件中.//你可以对redis.conf进行修改配置//声明在60秒至少有1000键被改动,则自动保存一次快照集(关闭注释掉所以RDB快照配置即可)save 60 1000 还可以手动执行命令生成RDB快照,进入redis客户端执行命令save或bgsave可以生成dump.rdb文件,每次命令执行都会将所有redis内存快照到一
2020-11-05 14:26:40
613
原创 分布式--redis基本数据结构及使用
redis常用5种数据结构字符串常用操作set key value //存入字符串键值对get key //获取对应key的值mset key value[key1 var2 key2 var2] //批量存储mget key key1 key2 //批量获取对应的值setnx key value //存入一个不存在的字符串键值对 已存在则不保存 不存在新增del key [key1 key2] //删除一个或多个键expire key seconds //设置一个建
2020-11-02 11:11:16
638
原创 分布式---redis安装
redis安装安装gccyum install gcc把下载好的redis-5.0.3.tar.gz放在/usr/local文件夹下,并解压cd /usr/localwget http://download.redis.io/releases/redis-5.0.3.tar.gztar xzf redis-5.0.3.tar.gzcd redis-5.0.3进入到解压好的redis-5.0.3目录下,进行编译与安装make启动并指定配置文件src/redis-server redi
2020-11-02 09:57:04
252
1
原创 CentOS 7.6的linux安装mysql,tomcat、jdk教程
安装mysql准备mysql的Linux Generic版本的tar.gz包这里准备了mysql5.6、tomcat9、jdk1.8的安装包,也可自行去官网下载将需要的包放到linux上1、包准备好之后卸载系统自带的Mariadb# rpm -qa|grep mariadb //查询出已安装的mariadb# rpm -e --nodeps 文件名 //一一卸载2、删除etc目录...
2019-11-05 14:32:15
559
TeamViewer14无限ID破解版
2019-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人