<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[minwang593的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/minwang593</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; minwang593]]></copyright><item><title><![CDATA[什么是倒排索引]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/122882723</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/122882723</guid><author>minwang593</author><pubDate>Fri, 11 Feb 2022 16:07:05 +0800</pubDate><description><![CDATA[略]]></description><category></category></item><item><title><![CDATA[2021-04-30]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116298231</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116298231</guid><author>minwang593</author><pubDate>Fri, 30 Apr 2021 11:23:39 +0800</pubDate><description><![CDATA[主从切换技术的方法是：当主服务器宕机后，需要手动把一台从服务器切换为主从服务器，这就需要人工干预，既费时费力，还会造成一段时间内服务不可用，这不是一种推荐的方式，因此笔者没有介绍主从切换技术。更多的时候，我们优先考虑哨兵模式，它是当前企业应用的主流方式。

哨兵模式概述

Redis可以存在多台服务器，并且实现了主从复制的功能。哨兵模式是一种特殊的模式，首先 Redis 提供了哨兵的命令，哨兵是一个独立的进程，作为进程，它会独立运行。
其原理是哨兵通过发送命令，等待 Redis 服务器响应...]]></description><category></category></item><item><title><![CDATA[字符串操作]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116296574</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116296574</guid><author>minwang593</author><pubDate>Fri, 30 Apr 2021 10:51:26 +0800</pubDate><description><![CDATA[172.16.208.144:16379&gt; get CHINAMOBILE_CALL_BACK_MSG_HANDLED_PREFIX_1_585070145972355072_18105160137
]]></description><category></category></item><item><title><![CDATA[查看主从情况]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116296422</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116296422</guid><author>minwang593</author><pubDate>Fri, 30 Apr 2021 10:45:39 +0800</pubDate><description><![CDATA[172.16.208.144:16379&gt; info replication
# Replication
role:slave
master_host:172.16.208.146
master_port:16379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:38734833022
slave_priority:100
slave_read_only:1
]]></description><category></category></item><item><title><![CDATA[查看redis默认过期策略]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116296073</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116296073</guid><author>minwang593</author><pubDate>Fri, 30 Apr 2021 10:42:16 +0800</pubDate><description><![CDATA[一、查看redis过期策略

172.16.208.144:16379&gt; config get maxmemory-policy
maxmemory-policy
noeviction




二、查看redis使用内存大小

172.16.208.144:16379&gt; config get maxmemory
maxmemory
0
注：内存并没有限制





三、查看redis的key占用空间



172.16.208.144:16379&gt; info memory
# M...]]></description><category></category></item><item><title><![CDATA[keeplived+nginx使用]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116154821</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116154821</guid><author>minwang593</author><pubDate>Mon, 26 Apr 2021 14:28:32 +0800</pubDate><description><![CDATA[Nginx互备方案实现


在此过程中，如果nginx服务器出现故障，整个环境就会出现瘫痪，此时需要对nginx进行心跳检测，当这台服务器出现故障时，能否转移到其他服务器上去。



Keepalived的配置非常简单，仅需要配置一个文件即可完成对HA Cluster和LVS服务节点监控。Keepalived的安装已经介绍。在通过Keepalived搭建高可用的LVS集群实例中，主、备Director Server都需要安装Keepalived软件，安装成功后，默认配置文件路径为/etc/keep...]]></description><category></category></item><item><title><![CDATA[Haproxy安装配置]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116153534</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116153534</guid><author>minwang593</author><pubDate>Mon, 26 Apr 2021 14:02:33 +0800</pubDate><description><![CDATA[安装

# tar -xvf haproxy-2.0.14.tar.gz

# uname -r

3.10.0-1062.18.1.el7.x86_64

# cd haproxy-2.0.14

#编译 uname -r #查看系统内核版本号



#make TARGET=linux3100 CPU=x86_64 PREFIX=/usr/local/haprpxy

#安装

# make install PREFIX=/usr/local/haproxy



初始化Haproxy

# mkd..]]></description><category></category></item><item><title><![CDATA[水平分库]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116101461</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116101461</guid><author>minwang593</author><pubDate>Sat, 24 Apr 2021 19:22:53 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[垂直分库]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116101391</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116101391</guid><author>minwang593</author><pubDate>Sat, 24 Apr 2021 19:21:40 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[垂直分表]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116101288</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116101288</guid><author>minwang593</author><pubDate>Sat, 24 Apr 2021 19:19:21 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[mysql数据量大的情况下处理方式]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/116100863</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/116100863</guid><author>minwang593</author><pubDate>Sat, 24 Apr 2021 19:07:22 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[等待事件]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/115746960</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/115746960</guid><author>minwang593</author><pubDate>Fri, 16 Apr 2021 05:19:02 +0800</pubDate><description><![CDATA[第一章节 等待事件



1.1performance_schema查看配置表如下





mysql&gt; SELECT table_name

FROM information_schema.tables t

WHERE t.table_schema='performance_schema'

AND t.table_name LIKE 'setup%' ;

+-------------------+

| table_na...]]></description><category></category></item><item><title><![CDATA[假如Redis里面有1亿个key，其中有10w个key是以某个固定的已知的前缀开头的，如果将它们全部找出来？]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/115721670</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/115721670</guid><author>minwang593</author><pubDate>Thu, 15 Apr 2021 13:38:28 +0800</pubDate><description><![CDATA[使用keys指令可以扫出指定模式的key列表。

对方接着追问：如果这个redis正在给线上的业务提供服务，那使用keys指令会有什么问题？这个时候你要回答redis关键的一个特性：redis的单线程的。keys指令会导致线程阻塞一段时间，线上服务会停顿，直到指令执行完毕，服务才能恢复。这个时候可以使用scan指令，scan指令可以无阻塞的提取出指定模式的key列表，但是会有一定的重复概率，在客户端做一次去重就可以了，但是整体所花费的时间会比直接用keys指令长。
...]]></description><category></category></item><item><title><![CDATA[执行计划查看]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/115705165</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/115705165</guid><author>minwang593</author><pubDate>Wed, 14 Apr 2021 17:54:51 +0800</pubDate><description><![CDATA[执行计划包含的信息 id 有一组数字组成。表示一个查询中各个子查询的执行顺序;

- id相同执行顺序由上至下。
- id不同，id值越大优先级越高，越先被执行。
- id为null时表示一个结果集，不需要使用它查询，常出现在包含union等查询语句中。

select_type 每个子查询的查询类型，一些常见的查询类型。

| id  | select_ty pe | descripti on              |
| ---- | ------------ | ---...]]></description><category></category></item><item><title><![CDATA[数据库的乐观锁和悲观锁是什么？怎么实现的]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/115703950</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/115703950</guid><author>minwang593</author><pubDate>Wed, 14 Apr 2021 17:13:47 +0800</pubDate><description><![CDATA[数据库管理系统（DBMS）中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制（乐观锁）和悲观并发控制（悲观锁）是并发控制主要采用的技术手段。

悲观锁：假定会发生并发冲突，屏蔽一切可能违反数据完整性的操作。在查询完数据的时候就把事务锁起来，直到提交事务。实现方式：使用数据库中的锁机制乐观锁：假设不会发生并发冲突，只在提交操作时检查是否违反数据完整性。在修改数据的时候把事务锁起来，通过version的方式来进行锁定。实现方式：乐一般会使用版本]]></description><category></category></item><item><title><![CDATA[什么是事务的隔离级别？MySQL的默认隔离级别是什么]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/115703785</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/115703785</guid><author>minwang593</author><pubDate>Wed, 14 Apr 2021 17:09:16 +0800</pubDate><description><![CDATA[为了达到事务的四大特性，数据库定义了4种不同的事务隔离级别，由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable，这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。

| 隔离级别      | 脏读 | 不可重复 读 | 幻影读 |
| ------------------ | ---- | ------------ | ------ |
| READ- UNCOM MITTED | √  | √  ...]]></description><category></category></item><item><title><![CDATA[数据库为什么使用B+树而不是B树]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/115703616</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/115703616</guid><author>minwang593</author><pubDate>Wed, 14 Apr 2021 17:08:07 +0800</pubDate><description><![CDATA[B树只适合随机检索，而B+树同时支持随机检索和顺序检索；

B+树空间利用率更高，可减少I/O次数，磁盘读写代价更低。一般来说，索引本

身也很大，不可能全部存储在内存中，因此索引往往以索引文件的形式存储的磁盘上。这样的话，索引查找过程中就要产生磁盘I/O消耗。B+树的内部结点并没有指向关键字具体信息的指针，只是作为索引使用，其内部结点比B树小，盘块能容纳的结

点中关键字数量更多，一次性读入内存中可以查找的关键字也就越多，相对的，IO读

写次数也就降低了。而IO读写次数是影响索引检索效率的最大因素；

]]></description><category></category></item><item><title><![CDATA[hash索引与b+ 树索引区别]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/115703568</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/115703568</guid><author>minwang593</author><pubDate>Wed, 14 Apr 2021 17:03:07 +0800</pubDate><description><![CDATA[Hash索引和B+树所有有什么区别或者说优劣呢?

首先要知道Hash索引和B+树索引的底层实现原理：

hash索引底层就是hash表，进行查找时，调用一次hash函数就可以获取到相应

的键值，之后进行回表查询获得实际数据。B+树底层实现是多路平衡查找树。

对于每一次的查询都是从根节点出发，查找到叶子节点方可以获得所查键值，然

后根据查询判断是否需要回表查询数据。

么可以看出他们有以下的不同：

hash索引进行等值查询更快(一般情况下)，但是却无法进行范围查询。

因为在hash索引中经过has]]></description><category></category></item><item><title><![CDATA[锁现象排查方法]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/115652126</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/115652126</guid><author>minwang593</author><pubDate>Tue, 13 Apr 2021 06:00:24 +0800</pubDate><description><![CDATA[第一章节锁等待原因介绍





1.1sys介绍









mysql 5.6也可以有sys库(基于performance_schema的视图)。sys库是一个开源项目，在githup上早就有，是一个DBA的开源工具，后来mysql感觉好，就放在了mysql5.7上。

下载地址：https://github.com/mysql/mysql-sys

$cd mysql-sys-master

$mysql &lt; sys_56.sql

这样，就可以在mysql5....]]></description><category></category></item><item><title><![CDATA[mysql的pga-优化]]></title><link>https://blog.youkuaiyun.com/minwang593/article/details/115602956</link><guid>https://blog.youkuaiyun.com/minwang593/article/details/115602956</guid><author>minwang593</author><pubDate>Sun, 11 Apr 2021 17:37:27 +0800</pubDate><description><![CDATA[对于per_thread_buffers，可以将理解oracle的pga，为每个连到Mysql的用户进程分配的内存，其参数如下：





1、read_buffer_size



这参数用于表的顺序扫描，表示每个线程分配的缓存区大小。比如，在进行全表扫描时，Mysql会按照数据的存储顺序依次读取数据块，每次读取的数据块首先会暂存在 read_buffer_size中,当buffer空间被写满或者全部数据读取结束后，再将buffer中的数据返回给上层调用者，以提高效率。默认128kb，这个参数孬设置...]]></description><category></category></item></channel></rss>