游戏
文章平均质量分 91
Yi Ian
这个作者很懒,什么都没留下…
展开
-
redis哨兵机制
当有个哨兵标记主节点为「客观下线」后,就会进行选举 Leader 的过程,因为此时哨兵集群还剩下 3 个哨兵,那么还是可以拿到半数以上(5/2+1=3)的票,而且也达到了 quorum 值,满足了选举 Leader 的两个条件, 所以就能选举成功,因此哨兵集群可以完成主从切换。这时如果要恢复服务的话,需要人工介入,选择一个「从节点」切换为「主节点」,然后让其他从节点指向新的主节点,同时还需要通知上游那些连接 Redis 主节点的客户端,将其配置中的主节点 IP 地址更新为「新主节点」的 IP 地址。原创 2023-10-20 16:51:39 · 206 阅读 · 0 评论 -
redis 数据结构(二)
整数集合是 Set 对象的底层实现之一。当一个 Set 对象只包含整数值元素,并且元素数量不时,就会使用整数集这个数据结构作为底层实现。原创 2023-09-04 18:55:10 · 1141 阅读 · 0 评论 -
redis 数据结构(一)
redis是一种内存数据库,所有的操作都是在内存中进行的,还有一种重要原因是:它的数据结构的设计对数据进行增删查改操作很高效。redis的数据结构是什么redis数据结构是对redis键值对值的数据类型的底层的实现,注意不是。原创 2023-08-12 11:56:10 · 670 阅读 · 0 评论 -
MySQL中,当update修改数据与原数据相同时会再次执行吗?
在binlog_format=statement和binlog_row_image=FULL时,InnoDB内部认真执行了update语句,即“把这个值修改成 (1,999)“这个操作,该加锁的加锁,该更新的更新。在binlog_format=row和binlog_row_image=FULL时,由于MySQL 需要在 binlog 里面记录所有的字段,所以在读数据的时候就会把所有数据都读出来,那么。原创 2023-07-22 15:00:00 · 368 阅读 · 0 评论 -
redis 三种缓存更新策略
今天聊聊redis 三种缓存更新策略分别是:Cache Aside(旁路缓存)策略;Read/Write Through(读穿 / 写穿)策略;Write Back(写回)策略;其中 Cache Aside策略是redis和Mysql使用的更新策略,另外两种策略主要使用在计算机系统上。原创 2023-07-09 19:11:30 · 2034 阅读 · 0 评论 -
MySQL数据库优化总结
索引的优化只要列中含有NULL值,就最好不要在此例设置索引,复合索引如果有NULL值,此列在使用时也不会使用索引尽量使用短索引,如果可以,应该制定一个前缀长度对于经常在where子句使用的列,最好设置索引,这样会加快查找速度对于有多个列where或者order by子句的,应该建立复合索引对于like语句,以%或者‘-’开头的不会使用索引,以%结尾会使用索引尽量不要在列上进行运算(函数操作和表达式操作)尽量不要使用not in和操作sql语句的优化。原创 2022-10-18 19:00:00 · 671 阅读 · 0 评论 -
数据链路层详解
数据链路层: 网络层是进行地址管理和路由选择的,它是为数据报的转发找出一条路来,而数据链路层解决的是两个结点直接的数据交换,数接近于物理层的概念。转载 2022-08-17 21:30:00 · 2934 阅读 · 0 评论 -
深入理解 Linux 的 TCP 三次握手
在后端相关岗位的入职面试中,三次握手的出场频率非常的高。其实在三次握手的过程中,不仅仅是一个握手包的发送 和 TCP 状态的流转。还包含了端口选择,连接队列创建与处理等很多关键技术点。通过今天一篇文章,我们深度去了解了三次握手过程中内核中的这些内部操作。全文洋洋洒洒上万字字,其实可以用一幅图总结起来。服务器 listen 时,计算了全/半连接队列的长度,还申请了相关内存并初始化。...转载 2022-10-10 19:15:00 · 314 阅读 · 0 评论 -
python的进程、线程和协程
我们在进程、线程和协程(基础篇) 和进程、线程和协程 中学习到了很多进程、线程和协程的知识,而且他们是高并发,高可用的基础。那么今天我们就学习学习在具体一门语言中的应用---python相对于所有语言来说的,Python的特殊之处在于Python有一把GIL锁,这把锁限制了同一时间内一个进程只能有一个线程能使用cpu线程threading模块在python中比较底层的模块是_thread模块,而threading模块就是对_thread模块进行了封装,使之使用起来更加方便,我也推荐使用......原创 2022-08-05 19:00:00 · 546 阅读 · 0 评论 -
linux进程间通信(IPC) -- 管道(pipe)源码分析
所谓管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称pipe文件。向管道(共享文件)提供输入的发送进程(即写进程),以字符流形式将大量的数据送入管道;而接收管道输出的接收进程(即读进程),可从管道中接收数据。由于发送进程和接收进程是利用管道进行通信的,故又称管道通信。为了协调双方的通信,管道通信机制必须提供以下3方面的协调能力。互斥。当一个进程正在对pipe进行读/写操作时,另一个进程必须等待。同步。httpshttpshttpshttpshttps。...转载 2022-07-29 17:39:55 · 1946 阅读 · 0 评论 -
进程、线程和协程(进阶篇)
进程、线程和协程是高并发和高可用的基础知识之一,我们在进程、线程和协程(基础篇)中详细的介绍了它们的概念和关系,尤其与它们相关的一些基础知识,但是我们知道了这些基础知识还远不远不够。在我们使用中,经常会遇到这些问题:线程安全问题、进程通信问题和在我们要频繁使用进程、线程和协程的时候,而引入的进程池,线程池和协程池问题等。那么我们就这些问题仔细的学习一下,废话不多说直接开始吧~~~~~~~~~~~............原创 2022-07-22 19:00:00 · 781 阅读 · 0 评论 -
进程、线程和协程(基础篇)
目录系和区别编辑串行、并发和并行同步和异步、阻塞和非阻塞同步和异步阻塞和非阻塞同步/异步与阻塞/非阻塞怎么理解呢总结我们在开发高并发和高可用的程序的时候,我们都不可能只启动一个进程或者一个线程,我们都会使用多进程,多线程或者协程等这些知识点。那么什么是进程,什么是线程,什么是协程?以其他们是什么样的关系?使用他们需要知道那些知识呢?我们在这里和大家......原创 2022-07-15 19:00:42 · 2696 阅读 · 0 评论 -
Python操作之MySQL
在使用Python中我们都要安装相关的库,mysql在python经常使用的库为PyMySQL,安装如下:流程图如下:实例代码如下:创建表格在我们使用数据库之前,首先我们得有数据库,那么如何创建呢?如下:在python中我们通过`connect`函数连接 MySQL 服务器,该函数会返回一个`Connection`对象但是为了让程序更加健壮,我们一般不会这样调用该函数,先不说麻烦与否,如果我们经常要修改连接参数,那么我们所有调用地方都会修改,这样的代码十分不健壮。所以我们应该使用模块化进行解决,代原创 2022-06-20 17:22:44 · 5881 阅读 · 1 评论 -
Python图形用户界面和游戏开发
Python图形用户界面和游戏开发基于tkinter模块的GUIPygame游戏开发原创 2022-04-14 17:39:26 · 3691 阅读 · 0 评论