作者: Jobs Lin

255 篇文章

Redis集群之主从
Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是「读写分离」的方式。 读操作:主库、从库都可以接收; 写操作:首先到主库执行,然后,主库将写操作同步给从库。 实操 我们先启动三个redis容器 docker run -d -p 5670:6379 --name redis-ma…
Redis数据过期和淘汰策略
Redis过期相关命令 Redis提供了四种命令来设置key的过期时间: EXPIRE key seconds // 设置多少秒后过期 EXPIREAT key timestamp 设置 key 过期时间的时间戳(unix timestamp) 以秒计 PEXPIRE key millisecond…
Redis内存统计
Redis提供内存统计命令,在客户端通过 redis-cli 连接服务器后,通过 info 命令可以查看内存使用情况:info memory。 127.0.0.1:6379> info memory # Memory used_memory:3223164040 #Redis分配的内存总量,即…
Redis为啥这么快
Redis是一种基于键值对(Key-Value)的NoSQL数据库,Redis的Value可以由String,hash,list,set,zset,Bitmaps,HyperLogLog等多种数据结构和算法组成。Redis还提供了键过期,发布订阅,事务,Lua脚本,哨兵,Cluster等功能。Red…
cherry-pick 遴选
什么是遴选 使用遴选(cherry-pick)命令,Git 可以让你将任何分支中的个别提交合并到你当前的 Git HEAD 分支中。 当执行 git merge 或者 git rebase 时,一个分支的所有提交都会被合并。cherry-pick 命令允许你选择单个提交进行整合。 使用 cherry…
数组指针遍历
一维数组 #include <stdio.h> int main(){ int arr[] = {3,1,2,3,4,5,6,7,8,9,10}; int *pa = (int *) arr; for (int i = 0; i < 10; ++i) { printf("…
MySQL取差集
相当于A的独有+B的独有 select * from a full outer join b on a.key = b.key where a.key is null or b.key is null 此写法只在oracle中适用,在mysql中得用union select * from a lef…
MySQL自增主键解析
我们在创建表时一般都会创建自增的ID主键,由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧凑。那自增的主键是如何实现的呢? 为了便于说明,我们创建一个表 t,其中 id 是自增主键字段、c 是唯一索引,并添加点数据。 CREATE TABLE `single` ( `id…
MySQL 8.0.23新特性 – 不可见列
在MySQL 8.0.23之前,表中所有的列都是可见的(如果您有权限的话)。现在可以指定一个不可见的列,它将对查询隐藏。如果显式引用,它可以被查到。**** 创建表 CREATE TABLE `table1`( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` …
InnoDB 刷脏页的控制策略
当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为“脏页”。内存数据写入到磁盘后,内存和磁盘上的数据页的内容就一致了,称为“干净页”。 第一种场景 是 InnoDB 的 redo log 写满了。这时候系统会停止所有更新操作,把 checkpoint 往前推进,redo log 留出空间可…