先拿 setnx 来争抢锁,抢到之后,再用 expire 给锁加一个过期时间防止锁忘记了 释放。 这时候对方会告诉你说你回答得不错,然后接着问如果在 setnx 之后执行 expire 之前进程意外 crash 或者要重启维护了,那会怎么样? 这时候你要给予惊讶的反馈:唉,是喔,这个锁就永远得不到释 ...
分类:
其他好文 时间:
2020-07-14 16:24:40
阅读次数:
96
LVS+keepalive 什么是keepalive Keepalived是Linux下一个轻量级别的高可用解决方案。高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行;狭义的来讲就是指主机的冗余和接管。它与HeartBeat、RoseHA实现 ...
分类:
其他好文 时间:
2020-07-14 13:40:40
阅读次数:
59
thread 用于声明一个线程本地变量. __declspec(thread)的前缀是Microsoft添加给Visual C++编译器的一个修改符。它告诉编译器,对应的变量应该放入可执行文件或DLL文件中它的自己的节中。__declspec(thread)后面的变量 必须声明为函数中(或函数外)的 ...
分类:
其他好文 时间:
2020-07-14 10:34:41
阅读次数:
68
本文主要讲了Redis的持久化相关功能,持久化一直是影响Redis性能的高发地,也是面试中经常被问到的。包括RDB相关的特定和优缺点,AOF的优缺点,事实上,由于RDB的数据实时性问题,目前用AOF比较多了。而持久化恢复也是优先AOF。RDB是旧的模式,现在基本上都使用AOF。当然,两个都会一起说到。RDBRDB流程图RDB特点RDB是一种快照模式,即——保存的是keyvalue数据内容。RDB有
分类:
其他好文 时间:
2020-07-14 09:18:45
阅读次数:
86
一、多线程简介1、什么是线程? 线程在操作系统原理中是这样描述的:线程是进程的一条执行路径。线程在Unix系统下,通常被称为轻量级的进程,线程虽然不是进程,但却可以看作是Unix进程的表亲,所有的线程都是在同一进程空间运行,这也意味着多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和 ...
分类:
编程语言 时间:
2020-07-13 22:00:56
阅读次数:
83
对于docker 来说init 进程的管理很重要,以下是几个不错的选择 tini 参考资料https://github.com/krallin/tini dumb-init 参考资料https://github.com/Yelp/dumb-init docker 自己的init 启动的时候添加 -- ...
分类:
系统相关 时间:
2020-07-13 21:57:45
阅读次数:
119
SFTP的概念 sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH ...
分类:
其他好文 时间:
2020-07-13 21:51:04
阅读次数:
77
进程、线程、协程的区别? 进程是计算机中资源分配的最小单位。 线程是计算机中cpu资源调度的最小单位。 协程又称”微线程“,是在一条线程上来回切换来规避IO操作。在计算机中不是真实存在的,而是程序员通过代码伪造出来。 一个进程以可以开启多个线程、线程是依赖进程存在的、一个线程下可以创建多个协程。 在 ...
分类:
编程语言 时间:
2020-07-13 21:15:55
阅读次数:
55