<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Obto_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Obto_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Obto_]]></copyright><item><title><![CDATA[Redis的常见面试题]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/136204934</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/136204934</guid><author>Obto_</author><pubDate>Wed, 21 Feb 2024 14:59:30 +0800</pubDate><description><![CDATA[Redis总结、常见面试题，光速过一遍回忆知识]]></description><category></category></item><item><title><![CDATA[Redis典型应用之分布式锁]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/136194702</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/136194702</guid><author>Obto_</author><pubDate>Tue, 20 Feb 2024 18:28:07 +0800</pubDate><description><![CDATA[在一个分布式系统中，也会涉及到多个节点同时去访问一个公共资源的时候，此时就需要通过锁来做互斥控制，避免出现类似于“线程安全”的问题~~本质上来说就是使用一个公共的服务器，用来记录加锁状态当然这个服务器也可以是Redis，也可以是其他的组件（MySQL、ZooKeeper等），自己手搓也行。]]></description><category></category></item><item><title><![CDATA[Redis典型应用之缓存]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/136178534</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/136178534</guid><author>Obto_</author><pubDate>Mon, 19 Feb 2024 22:15:41 +0800</pubDate><description><![CDATA[缓存（cache）是计算机中的一个经典的概念，在很多场景中都会涉及到核心思路就是把一些常用的数据放到触手可及（访问速度更快）的地方，方便读取比如我去坐动车，那么我会选择将我的身份证放在口袋里，而不是我的背包中的某个夹层中虽然我的口袋小，但是掏出来很快，并且在坐动车时身份证的使用还是比较频繁的~~这里的速度快，是一种相对的快的概念~通常情况下，OS对于硬件的访问速度是这样的：CPU寄存器 > 内存 > 硬盘 > 网络那么相对于网络，硬盘反倒是显得很快而对于硬盘来说内存又更加的快~~]]></description><category></category></item><item><title><![CDATA[Redis集群]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/136176895</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/136176895</guid><author>Obto_</author><pubDate>Mon, 19 Feb 2024 21:16:35 +0800</pubDate><description><![CDATA[redis哨兵能够提高系统的可用性，但是真正存储数据的还是master和slave节点，所有的数据都保存在单个master和slave节点中如果数据量很大，接近超出了master/slave所在的机器的物理内存，就会出现严重问题！众所周知，redis的数据是保存在内存上的 ，即便现在的大公司的内存已经能够达到TB级别，但是在现在的这种大数据环境下，显然是不够的。]]></description><category></category></item><item><title><![CDATA[C++新版本特性]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/136067670</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/136067670</guid><author>Obto_</author><pubDate>Wed, 07 Feb 2024 23:51:54 +0800</pubDate><description><![CDATA[本篇博客分享，对于c++11,14,17的常用c++新版本特性~]]></description><category></category></item><item><title><![CDATA[Redis哨兵]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135964383</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135964383</guid><author>Obto_</author><pubDate>Thu, 01 Feb 2024 01:27:09 +0800</pubDate><description><![CDATA[如果尚未了解主从复制的话建议观看这一篇博客：Redis的主从复制模式下，⼀旦主节点由于故障不能提供服务，需要⼈⼯进⾏主从切换，同时⼤量的客⼾端需要被通知切换到新的主节点上，对于上了⼀定规模的应⽤来说，这种⽅案是⽆法接受的，于是Redis从 2.8 开始提供了Redis Sentinel（哨兵）加个来解决这个问题哨兵节点不能只有⼀个.否则哨兵节点挂了也会影响系统可⽤性.哨兵节点最好是奇数个.⽅便选举 leader, 得票更容易超过半数.]]></description><category></category></item><item><title><![CDATA[Redis事务 & 主从复制]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135946296</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135946296</guid><author>Obto_</author><pubDate>Wed, 31 Jan 2024 12:10:27 +0800</pubDate><description><![CDATA[主从复制特点：Redis通过复制功能实现主节点的多个副本主节点用来写，从节点用来读，这样可以降低主节点的访问压力复制支持多种拓扑结构~复制有全量复制（开销大），部分复制（开销小），实时复制主从节点之间通过心跳机制保证主从节点通信正常和数据一致性主从复制的配置过程：主节点配置不需要改动。从节点在配置⽂件中加⼊ slaveof 主节点ip 主节点端⼝ 的形式即可.从机多了,复制数据的延时⾮常明显主机挂了,从机不会升级成主机.只能通过⼈⼯⼲预的⽅式恢复（下一章哨兵能解决）]]></description><category></category></item><item><title><![CDATA[Redis持久化]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135943292</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135943292</guid><author>Obto_</author><pubDate>Wed, 31 Jan 2024 00:54:41 +0800</pubDate><description><![CDATA[Redis支持RDB和AOF两种持久化机制，持久化能够有效避免因进程退出而造成的数据丢失问题，说白了就是将内存上的数据保存到硬盘上，等待下次加载时再将内存上的数据读取出来。]]></description><category></category></item><item><title><![CDATA[Redis常见数据类型]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135894289</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135894289</guid><author>Obto_</author><pubDate>Sun, 28 Jan 2024 21:16:01 +0800</pubDate><description><![CDATA[如果没有看过上一章的前提知识的话，建议看一下下面这篇博客~~本篇博客分享Redis常用的数据类型包括Hash、List、Set、Zset（有序集合）的常用命令，以及内部编码方式并附带运行示例，以及适用场景~]]></description><category></category></item><item><title><![CDATA[Redis常见数据类型[上]]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135889083</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135889083</guid><author>Obto_</author><pubDate>Sun, 28 Jan 2024 00:03:01 +0800</pubDate><description><![CDATA[Redis提供了5种数据结构，理解每种数据结构的特点对于Redis开发运维⾮常重要预备知识：几个全局命令，数据结构，内部编码，单线程模式机制分析5种数据结构的特点、命令使用、应用场景示例键遍历、数据库管理。]]></description><category></category></item><item><title><![CDATA[初识Redis]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135887883</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135887883</guid><author>Obto_</author><pubDate>Sat, 27 Jan 2024 21:54:53 +0800</pubDate><description><![CDATA[Redis是一种基于键值对(key-value)的NoSQL数据库，与很多键值对数据库不同的是，Redis中的值可以由字符串、哈希、列表、集合、有序集合、位图等多种数据结构和算法组成，能够满足特别多的使用场景。又因为Redis会将所有数据都放在内存中，所以它的读写性能非常惊人。不仅于此，Redis还可以将内存的数据利用快照和日志的形式保存到硬盘上，在发生类似断电宕机的时候，内存中的数据不会丢失。]]></description><category></category></item><item><title><![CDATA[Git远程操作]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135814652</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135814652</guid><author>Obto_</author><pubDate>Wed, 24 Jan 2024 14:24:10 +0800</pubDate><description><![CDATA[之前文章所分享的所有内容（工作区，暂存区，版本库等待），都是在本地的！而我们的可以简单理解为，我们每个⼈的电脑上都是⼀个完整的版本库，这样你⼯作的时候，就不需要联⽹了，因为版本库就在你⾃⼰的电脑上。如果想让对方也能看到你所做的修改，那就需要将这些东西推送给对方~~]]></description><category></category></item><item><title><![CDATA[Git分支管理]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135793408</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135793408</guid><author>Obto_</author><pubDate>Tue, 23 Jan 2024 23:30:39 +0800</pubDate><description><![CDATA[在实际分支合并的时候，并不是想合并就合并成功的，大概率会遇到代码冲突问题：例如上面的平行宇宙例子：宇宙a中你认为最好吃的是汉堡，宇宙b中的你认为可乐是最好的，那么你们合并的时候就会对“最好吃的事物”产生冲突，此时就需要手动处理一下~~有了分支你就不用怕，在自己的分支干活，别人看不到，也不影响别人，你在自己的分支想提交就提交，想回退就回退，直到开发完成后再一次性合并进去即可，这样又安全又不影响其他人工作。严格来说不是指向提交，⽽是指向master，master才是指向提交的，所以，HEAD?]]></description><category></category></item><item><title><![CDATA[Git的管理操作]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135744225</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135744225</guid><author>Obto_</author><pubDate>Tue, 23 Jan 2024 22:15:19 +0800</pubDate><description><![CDATA[上一篇文章分享了如何安装Linux，作为本章的前提即是已经安装好了Gitindex：暂存区，git add后其中内容会新增HEAD：默认指向master分支的一个指针refs/heads/master:文件里保存当前master分支的最新commit idobjects:包含创建的各种版本库对象及内容，可以理解放了git维护的所有修改。]]></description><category></category></item><item><title><![CDATA[Git的安装与配置]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135734340</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135734340</guid><author>Obto_</author><pubDate>Sun, 21 Jan 2024 20:24:47 +0800</pubDate><description><![CDATA[Git是一种版本控制器，能够让我们了解一个文件的历史，以及它的发展过程。通俗的将就是可以记录一个工程的每一次改动和版本迭代的一个管理系统，同时也方便多人协同作业。]]></description><category></category></item><item><title><![CDATA[MySQL视图&用户管理]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135726836</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135726836</guid><author>Obto_</author><pubDate>Sun, 21 Jan 2024 12:09:04 +0800</pubDate><description><![CDATA[视图是一个虚拟表，其内容由查询定义。跟真实的表一样，视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表，基表的数据变化也会影响到视图。]]></description><category></category></item><item><title><![CDATA[MySQL隔离性的进阶理解]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135724384</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135724384</guid><author>Obto_</author><pubDate>Sun, 21 Jan 2024 01:28:09 +0800</pubDate><description><![CDATA[即当我们某个事务执行快照读的时候，对该记录创建一个 Read View 读视图，把它比作条件,用来判断当前事务能够看到哪个版本的数据，既可能是当前最新的数据，也有可能是该行记录的 undo log 里面的某个版本的数据。ReadView就是事务进行 快照读 操作的时候生产的 读视图 ，在该事物执行快照度的那一刻，会生成数据库系统当前的一个快照，记录并维护当前活跃事务的ID（当每个事务开启时，都会被分配一个ID，ID是递增的，所以越新的事务ID越大）这里可以看到，多个事务增删查的时候，都是当前读，都要加锁。]]></description><category></category></item><item><title><![CDATA[MySQL事务]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135723312</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135723312</guid><author>Obto_</author><pubDate>Sun, 21 Jan 2024 00:14:05 +0800</pubDate><description><![CDATA[事务就是一组DML语句构成，这些语句在逻辑上存在相关性，这一组DML语句要么全部成功，要么全部失败，是一个整体。MySQL提供一种机制，保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不同的。事务主要用在处理操作量大，复杂度高的数据。好比转账，你要将钱从手机上转钱给另外一个人，这时候就会有一堆MySQL语句：查询，修改等待，这样一堆的SQL语句加起来构成一个事务。]]></description><category></category></item><item><title><![CDATA[MySQL索引]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135704308</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135704308</guid><author>Obto_</author><pubDate>Fri, 19 Jan 2024 20:49:47 +0800</pubDate><description><![CDATA[提高数据库性能，且不需要加内存改程序，就能够让查询速度提高成百上千倍数。但是查询速度的提高是以插入、更新、删除的速度为代价的，这些操作增加了大量的IO。案例：先制造一个海量表，在查询的时候看看没有索引的时候会有什么问题？这样就创造出一张海量表了查询标号为998866的员工一共耗时将近5s，这还是在本地单人操作，在实际项目中会有很多人并发查询，这时候就得死机了。]]></description><category></category></item><item><title><![CDATA[MySQL复合查询 & 内外连接]]></title><link>https://blog.youkuaiyun.com/Obto_/article/details/135699208</link><guid>https://blog.youkuaiyun.com/Obto_/article/details/135699208</guid><author>Obto_</author><pubDate>Fri, 19 Jan 2024 18:04:51 +0800</pubDate><description><![CDATA[前面文章分享了mysql对一张表的查询，但在实际开发中是远远不够的，本篇博客提供sql数据，大家可以到本地MySQL执行语法后，跟着文章一起练练手。]]></description><category></category></item></channel></rss>