自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 资源 (8)
  • 收藏
  • 关注

原创 redis中key和value的存储大小限制

String类型:一个String类型的value最大可以存储512MList类型:list的元素个数最多为2^32-1个,也就是4294967295个。Set类型:元素个数最多为2^32-1个,也就是4294967295个。Hash类型:键值对个数最多为2^32-1个,也就是4294967295个。Sorted set类型:跟Set类型相似。...

2022-04-02 10:06:23 6557 1

原创 MinIO分布式文件存储

目录一、MinIO介绍1、MinIO是什么?2、MinIO的优势二、MinIO安装1、server端安装2、客户端安装三、MinIO界面上传文件及使用四、Go上传文件到MinIO一、MinIO介绍官网:MinIO Quickstart Guide| Minio中文文档1、MinIO是什么?MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构...

2022-04-02 10:03:08 23929 2

原创 PHP操作redis

目录一、安装PHP的redis扩展1、linux下安装php的redis扩展2、windows下安装php的redis扩展二、PHP操作redis1、面向过程操作redis2、面向对象操作redis一、安装PHP的redis扩展1)PHP的redis扩展有2个,分别是phpredis和predis扩展;phpredis是PHP官方推荐的,是C写的; predis使用的原生的PHP代码实现的一套Redis-client程序,可以不用安装任何扩展,只引入php代码就

2022-03-30 11:35:16 15761 1

原创 redis垃圾回收机制

目录一、内存回收二、过期策略三、8 种淘汰策略1、LRU 算法2、LFU 算法作为一台服务器来说,内存并不是无限的,所以总会存在内存耗尽的情况,那么当Redis服务器的内存耗尽后,如果继续执行请求命令,Redis会如何处理呢?一、内存回收使用Redis服务时,很多情况下某些键值对只会在特定的时间内有效,为了防止这种类型的数据一直占有内存,我们可以给键值对设置有效期。Redis中可以通过4个独立的命令来给一个键设置过期时间:expire key t...

2022-03-30 11:28:37 848

原创 redis为什么快?

目录一、Redis整体功能二、Redis 为什么快?1、完全基于内存实现2、高效的数据结构3、单线程模型4、I/O 多路复用模型三、唯快不破的原理总结一、Redis整体功能全景图可以围绕两个纬度展开,分别是:1、应用纬度缓存使用、集群运用、数据结构的巧妙使用2、系统纬度可以归类为三高高性能:线程模型、网络 IO 模型、数据结构、持久化机制; 高可用:主从复制、哨兵集群、Cluster 分片集群; 高拓展:负载均衡二、Redis 为什么

2022-03-30 11:23:52 2639 1

原创 Sentinel高可用集群搭建

目录一、前言二、集群搭建1、环境2、配置文件介绍3、实验中的sentinel配置4、启动sentinel:5、sentinel原理6、运行测试三、sentinel核心概念1、Leader选举3、命令查看、修改4、修改:包括参数四、增加或删除Sentinel1、增加sentinel2、删除旧master或者不可达slave五、总结六、sentinel.conf配置详解一、前言sentinel是一个"监视器",根据被监视实例的身份和

2022-03-28 12:04:57 7308

原创 Sentinel介绍与运行机制

目录一、sentinel介绍二、Sentinel支持集群三、关于Sentinel版本四、运行Sentinel五、Sentinel的配置六、Sentinel的“仲裁会”七、配置版本号八、配置传播九、SDOWN和ODOWN的更多细节十、Sentinel之间和Slaves之间的自动发现机制十一、网络隔离时的一致性十二、Sentinel状态持久化十三、无failover时的配置纠正十四、Slave选举与优先级十五、Sentinel和Redis身份验证十

2022-03-28 11:45:56 648

原创 redis集群设置

目录一、背景二、集群中的主从复制三、部署redis集群1、环境搭建2、集群结点规划四、 部署结果验证五、注意事项一、背景1、redis的主从和mysql很像,但是配置很简单。slaveof 192.168.80.126 6379然后启动主从便可以了。但是如果redis主节点发生故障,不会自动切换,需要借助redis的sentinel或者keepalive来实现主的故障转移。(故而可以使用Sentinel来做redis的集群)2、redis集群是一个

2022-03-25 15:24:47 2618

原创 redis主从设置

目录一、redis复制介绍二、redis主从复制实现的原理三、redis主从复制的特点四、redis搭建和复制原理五、主从没反应解决一、redis复制介绍Redis目前的复制是异步的,只保证最终一致性,而不是强一致性(主从数据库的更新还是分先后,先主后从)。要是一致性要求高的应用,目前还是读写都在主库上去。从当做一个备份机redis主从配置比较简单,基本就是在从节点配置文件加上slaveof 192.168.33.130 6379二、redis主从复

2022-03-25 15:14:40 675

原创 redis设置连接密码

redis密码设置有两种方式,一种需要重启redis服务,一种不需要重启redis服务。一、修改redis.confrequirepass 123修改完重启redis服务二、在连接redis后通过命令设置config set requirepass 123456通过指令查看密码config get requirepass这种方式重启redis后, 密码便会消失三、设置完密码后连接redis共有2种方式1、连接的时候直接输入密码..

2022-03-24 10:00:18 5643

原创 redis设置可远程访问

一、描述在工作中可能有多台redis服务器,业务服务器可能是另外的,所以就需要远程访问redis所以一般的工作场景如下:1、业务服务器访问redis2、主从redis二、具体步骤下面介绍主从方案,其他的步骤也是一样的1、在master上修改redis.confslave : 192.168.160.140master : 192.168.160.141bind 127.0.0.1改为bind 0.0.0.0 #这种是方式是远程所..

2022-03-24 09:50:09 2019

原创 redis日志

目录一、前言二、具体配置三、redis 慢日志1. 列出所有slow log2. 列出最近N条slow log一、前言默认redis是没有启动日志,需要在配置文件redis.conf中设置二、具体配置logfile(的路径),logs will be sent to /dev/null# Specify the log file name. Also the empty string can be used to force# Redis to log on

2022-03-24 09:48:01 12704

原创 redis配置文件详解

目录一、redis.conf详解二、基本配置三、主从配置四、安全五、限制六、日志模式七、慢查询八、服务端命令九、连接命令十、redis配置模板一、redis.conf详解#redis.conf# Redis configuration file example.# ./redis-server /path/to/redis.conf################################## INCLUDES ##############

2022-03-24 09:45:37 1378

原创 redis持久化

目录一、redis持久化方式二、rdb 持久化1. rdb的工作原理:2. rdb快照的配置选项3. rdb的缺陷三、aof 持久化1. aof的原理2. 引发的问题?3. aof的配置四、rdb和aof 两种持久化常见问题一、redis持久化方式redis的持久化有2种方式 1rdb快照 2是aof日志二、rdb 持久化1. rdb的工作原理:每隔N分钟或N次写操作后, 从内存dump数据形成rdb文件,压缩放在备份...

2022-03-24 09:40:20 79

原创 redis发布订阅

目录一、概要二、特点三、发布及订阅功能四、Redis发布订阅命令五、php实现redis发布-订阅1、消息发布端2、消息订阅端六、订阅发布使用场景七、在订阅时遇到错误八、模式匹配(正则匹配)订阅一、概要Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 发布订阅(pub/sub)实现了消息系统,发送者(在redis术语中称为发布者)在接收者(订阅者)...

2022-03-23 10:06:44 4348

原创 Redis事务详解

目录一、Redis与 mysql事务的对比二、思考redis中的锁三、Redis中的事务有四种表现形式一、Redis与 mysql事务的对比 描述 Mysql Redis 开启 start transaction multi 语句 普通sql 普通命令 失败

2022-03-23 10:01:37 259

原创 Redis key设计技巧

一、设计技巧1: 把表名转换为key前缀 如, tag:2:2:第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid3:第3段放置主键值,如2,3,4...., a , b ,c4:4:第4段,写要存储的列名例如:将用户表user, 转换为redis的key-value存储set user:userid:9:username lisiset user:userid:9:password 111111set user:use...

2022-03-23 09:57:06 2141

原创 The server quit without updating PID file

错误:/etc/init.d/mysql startStarting MySQL.. ERROR! The server quit without updating PID file (/data/mysql/localhost.localdomain.pid).原因:1、没有权限chown -R mysql:mysql /var/datachmod -R 755 /usr/local/mysql/data然后重新启动MySQL2、已经存在mysql进程..

2022-03-21 10:31:08 1190

原创 Can‘t connect to local MySQL server through socket mysqld.sock

问题:Can't connect to local MySQL server through socket '/tmp/mysqld.sock'[root@lfqb data]# mysql -urootERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)原因:mysql客户端默认去找 /tmp/mysqld.sock 做连接,而mysqld.s..

2022-03-21 10:27:25 782

原创 MySQL server has gone away

目录1、原因一 MySQL 服务宕了2、原因二 mysql连接超时3、原因三 mysql请求链接进程被主动kill4、原因四 Your SQL statement was too largemysql出现ERROR : (2006, 'MySQL server has gone away') 问题意思是指client和MySQL server之间的链接断了。造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的

2022-03-18 10:19:29 1826

原创 MySQL账号与权限详解

目录一、前言二、全局权限三、db 权限四、表权限和列权限五、flush privileges 使用场景六、总结一、前言在 MySQL 里面,grant 语句是用来给用户赋权的。不知道你有没有见过一些操作文档里面提到,grant 之后要马上跟着执行一个 flush privileges 命令,才能使赋权语句生效。我最开始使用 MySQL 的时候,就是照着一个操作文档的说明按照这个顺序操作的。那么,grant 之后真的需要执行 flush privileges

2022-03-18 09:41:16 2235

原创 show variables 系统变量(配置参数)

目录一、mysql变量介绍二、查看系统变量三、设置系统变量一、mysql变量介绍mysqld服务维护两种变量全局变量影响服务器的全局操作 会话变量影响具体客户端连接相关操作1、服务器启动时,将所有全局变量初始化为默认值。可以在选项文件或命令行中指定的选项来更改这些默认值。服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句可以更改动态全局变量。要想更改全局变量,必须具有SUPER权限。2、服务器还为每个客户端连接维护会话变量。连

2022-03-17 10:45:40 1138

原创 show profiles 查看sql语句执行状态

目录一、show profiles作用二、具体用法1、查看profile是否开启2、开启profiling3、查看所有语句的执行步骤4、具体查看某条语句执行步骤5、查看单个sql语句的cpu、IO情况6、查看具体 show profile可以查看哪些信息一、show profiles作用是为了查看具体的语句执行状态,在mysql 5.5 以后加了一个profile设置,可以观察到具体语句的执行步骤.二、具体用法1、查看profile是否开启&

2022-03-17 10:36:30 1115

原创 show processlist 查看当前线程状态

目录一、show processlist使用1、在mysql终端外操作2、在mysql终端操作3、返回信息说明二、长期分析观察mysql进程找出效率低的语句三、State说明一、show processlist使用对于一个mysql连接,或者一个线程,任何时刻都有一个状态,该状态表示了mysql当前正在做什么,很多方式能查看当前的状态,两种方式可以查看,具体如下:1、在mysql终端外操作mysql -hhostname -Pport -uuserna

2022-03-16 12:01:58 953

原创 show status 查看服务器状态变量

目录一、前言二、具体命令1、在mysql命令行中使用2、在命令行外部三、详细介绍四、具体状态详解五、常用show status 语句一、前言有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SELECT语句、执行了多少UPDATE/DELETE/INSERT语句等统计信息,从而便于我们根据当前MySQL服务器的运行状态进行...

2022-03-16 11:45:14 783

原创 mysqldump全量/增量 进行备份/恢复

目录一、mysql备份说明1、myisam备份介绍2、innodb备份介绍3、全量备份和增量备份4、一些备份工具二、mysqldump全量备份与恢复1、mysqldump全量备份2、mysql恢复数据指令3、注意事项4、使用mysqldump错误汇总三、增量备份、恢复1、增量备份步骤2、增量恢复 步骤3、mysqlbinlog介绍4、使用mysqlbinlog 恢复中错误处理一、mysql备份说明mysql的备份可以分为冷备份和热备

2022-03-16 11:34:51 9718

原创 MHA实现mysql自动故障转移

一:MHA介绍什么是mha,有什么特性 ?主服务器的自动监控和故障转移MHA监控复制架构的主服务器,一旦检测到主服务器故障,就会自动进行故障转移。即使有些从服务器没有收到最新的relay log,MHA自动从最新的从服务器上识别差异的relay log并把这些日志应用到其他从服务器上,因此所有的从服务器保持一致性了。MHA通常在几秒内完成故障转移,9-12秒可以检测出主服务器故障,7-10秒内关闭故障的主服务器以避免脑裂,几秒中内应用差异的relay log到新的主服务器上,整个过程可以在10-3

2022-03-15 18:18:04 705

原创 keepalive实现mysql自动故障转移

一、前言Keepalived是用来实现高可用的,提供健康检查,故障转移,即保证主LVS宕机后,从LVS可以在很短时间顶上,从而保证了系统或网站的稳定性。Keepalived在后端的realserver接收不到主节点的信息之后,keepalived能够自己调用ipvsadm命令生成规则,能够自动实现,将主节点的VIP以及ipvs规则“拿过来”,应用在从节点上,继续为用户服务。拓扑图:二:配置keepalived1 keepalive安装分别在master1,master2上安装keepalive

2022-03-15 18:15:59 1177

原创 Atlas中间件实现Mysql读写分离

目录一、Atlas介绍二、实现Mysql读写分离1、实验环境2、搭建一主一从配置3、安装Atlas一、Atlas介绍[ˈætləs]Atlas 是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。

2022-03-11 11:02:17 1539

原创 mysql-proxy实现读写分离

目录一、工作拓扑二、实验环境三、配置主从复制四、使用mysql-proxy1、安装mysql-proxy2、配置mysql-proxy,创建主配置文件3、修改读写分离配置文件4、启动mysql-proxy5、测试读写分离一、工作拓扑MySQL Proxy有一项强大功能是实现“读写分离”,基本原理是让主数据库处理写方面事务,让从库处理SELECT查询。Amoeba for MySQL是一款优秀的中间件软件,同样可以实现读写分离,负载均衡等功能,并且.

2022-03-11 10:56:32 1578

原创 Amoeba实现mysql读写分离

一、关于读写分离amoeba : 英[ə’mi:bə]读写分离(Read/Write Splitting),基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。二、Amoeba 是什么Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路

2022-03-11 10:50:26 2761 1

原创 表分区详解

目录一、什么是表分区?二、表分区与分表的区别三、表分区有什么好处?四、分区表的限制因素五、如何判断当前MySQL是否支持分区?六、MySQL支持的分区类型有哪些?1、RANGE分区2、LIST分区3、HASH分区4、KEY分区一、什么是表分区?mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数

2022-03-09 11:27:48 6257

原创 分表、分库、分区的区别和业务场景

目录一、分区、分表、分库的简单介绍二、常用的单机数据库的瓶颈三、分区介绍四、分表使用场景1、什么时候考虑分表?2、分表解决的问题3、分区和分表的区别与联系五、分库使用场景1、什么时候考虑使用分库?2、分库解决的问题3、读写分离六、拆分之后面临新的问题七、数据存储的演进1、单库单表2、单库多表3、多库多表八、总结九、案例分析一、分区、分表、分库的简单介绍分区:就是把一张表的数据分成N个区块,在逻辑上看最终只是一张表,但

2022-03-09 11:18:29 3099

原创 分库分表介绍

目录一、前言二、何谓数据切分?三、垂直切分1、垂直分库2、垂直分表3、垂直切分优缺点4、拆分需考虑的业务因素四、水平切分1、水平分库2、水平分表3、水平切分优缺点五、垂直与水平切分的联合使用六、数据分片规则1、Hash取模分表2、数值Range分表3、一致性Hash算法七、分库分表带来的问题1、分布式事务问题2、跨节点关联查询Join 问题3、跨节点分页、排序、函数问题4、全局主键避重问题5、数据迁移问题...

2022-03-09 11:14:53 13223

原创 不停止MySQL服务增加从库的两种方式

目录一、mysqldump方式二、xtrabackup方式(推荐)一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长。另一种是通过xtrabackup工具备份主库,恢复到从库,xtrabackup是物理备份,备份速度快,不锁表。为什么不锁表?因为自身会监控主库日志,如果有更新的数据,就会先写到一个文件中,然后再回归到备份文件中,从而保持数据一致性。实验环境:主...

2022-03-08 13:56:18 1925

原创 MySQL主从- slave跳过错误

目录一、跳过指定数量的事务二、修改mysql的配置文件三、模拟错误场景mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续 跳过错误有两种方式:一、跳过指定数量的事务mysql>slave stop;mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 #跳过一个事务mysql>slave start二、修改mysql的配置文件通过slave_

2022-03-08 13:49:49 5002

原创 主从同步延迟

目录一、查看主从是否延迟二、延迟产生的原因三、延迟解决方案1、架构方面2、硬件方面3、mysql主从同步加速4、从文件系统本身属性角度优化5、同步参数调整一、查看主从是否延迟在从服务器上通过 show slave satus 查看#SLAVE中的I/O线程当前正在读取的主服务器二进制日志文件的名称Master_Log_File:#在当前的主服务器二进制日志中,SLAVE中的I/O线程已经读取的位置Read_Master_Log_Po...

2022-03-08 13:45:07 892

原创 MySQL主从复制:实践

目录一、在master上创建复制帐号二、配置master,开启binlog三、配置slave四、启动slave1、在slave服务器上操作2、开启slave3、查看slave状态五、 查看master和slave的线程状态1、查看master线程的状态2、查看slave线程状态六、推荐的复制参数配置1、sync_binlog2、如果使用innodb 的推荐设置3、在备库上推荐如下设置4、通过relay_log_purge 选项来控制5、通过re

2022-03-07 14:34:46 1019

原创 MySQL复制详解

目录一、复制概述二、复制解决的问题1、数据分布2、负载均衡3、备份4、高可用性和容灾5、MySQL升级测试三、复制的工作流程1、简述工作流程2、具体工作流程四、复制两种方式1、基于语句的复制(Statement-Based Replication)2、基于行的复制(Row-Based Replication)五、复制所用到的文件1、二进制文件2、中继日志文件3、备库连接到主库的信息4、前备库复制的二进制日志和中继日志坐标六、发送复制

2022-03-07 14:14:47 5255

原创 explain 查看SQL执行计划

目录一、环境准备二、explain 输出解释idselect_typetabletypepossible_keyskeykey_lenrefrowsExtraMySQL EXPLAIN命令是查询性能优化不可缺少的一部分,常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描。一、环境准备创建2张表user_info 和order_info#创建user_info

2022-02-26 11:14:55 2492

PowerDesigner16.5实战教程

PowerDesigner 主要分为 7 种建模文件: 1、 概念数据模型 (CDM) (Conceptual Data Model) 对数据和信息进行建模,利用实体-关系图(E-R 图)的形式组织数据,检验数据设计 的有效性和合理性。 与具体的数据管理系统(Database Management System,简称 DBMS)无关。 概念数据模型必须换成逻辑数据模型,才能在 DBMS 中实现。 2、 逻辑数据模型 (LDM) PowerDesigner 15 新增的模型。逻辑模型是概念模型的延伸,表示概念之间的逻辑次 序,是一个属于方法层次的模型。具体来说,逻辑模型中一方面显示了实体、实体的属性和实体之间的关系,另一方面又将继承、实体关系中的引用等在实体的属性中进行展示。逻辑模型介于概念模型和物理模型之间,具有物理模型方面的特性,在概念模型中的多对多关系...

2023-04-01

axure元件库(web后台+移动端+图标)

悉心整理的axure元件库,内容全面,对于常用的元件设计类别做了整理。包含web系统后台,web官网,常用图标库,小程序,H5,APP。供下载学习下载!

2019-09-22

axure元件库整理汇总大全

axure元件库整理汇总大全,包含重用的图标,网站后台,移动端设计,供大家学习下载

2019-09-22

史上最详细的一线大厂Mysql面试题详解

史上最详细的一线大厂Mysql面试题详解,超级详细,供大家学习!!

2019-09-10

axure后台管理系统通用模板.zip

web管理系统通用axure原型模板,登录,导航,列表,表单等,供大家学习

2019-09-10

深入理解PHP内核-高清

深入理解PHP内核-高清版,详细介绍了PHP内核的工作原理,最好的介绍内核的书,没有之一!

2018-11-30

高性能PHP应用开发-高清扫描

高性能PHP应用开发-高清扫描,php网站优化整体思路,讲解的很全面

2018-11-16

PHP核心技术与最佳实践-高清版

PHP核心技术与最佳实践-高清版,全方位的描述php技术和相关的其他高级特性

2018-11-15

门户网站架构设计

全面的门户网站架构设计,包括设计思路,系统结构,网络规划及性能计算,性能模拟测试及性能推算等

2018-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除