自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

csdn_kou的博客

等风来

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux查看硬盘是不是ssd固态硬盘

linux查看硬盘是不是ssd固态硬盘sdb是ssd、sr0是SATA[root@ 01 ~]# cat /sys/block/sdb/queue/rotational0[root@ 01 ~]# cat /sys/block/sr0/queue/rotational1

2019-11-27 16:54:31 2010

原创 Linux中screen的用法

screen查看当前有多少窗口[root@python ~]# screen -lsThere are screens on: 20706.khz (Attached) 20679.khz (Attached) 20453.khz (Attached) 20143.khz (Det...

2019-11-27 09:59:25 181

原创 ps -ef和ps aux

ps -ef和ps auxps -efunix风格-e 列出所有进程-f 完整格式UID PID PPID C STIME TTY TIME CMDroot 1 0 0 8月27 ? 00:25:08 /usr/lib/systemd/systemd --switched-root --system --de...

2019-11-22 11:51:47 315

原创 伪随机数和真随机数

伪随机数小项目猜数字游戏 //C语言 猜数字游戏https://blog.csdn.net/csdn_kou/article/details/79785709C语言之随机数生成超详解https://blog.csdn.net/csdn_kou/article/details/79788815在上面的文章中,使用固定函数就一直是生成固定的随机结果,但是引入时间seed就可以达到我们的要求。...

2019-11-19 20:59:27 324

原创 mysql row_id为什么是6字节?为什么是8字节

mysql row_id是几个字节?row_idInnoDB表中在没有默认主键的情况下会生成一个6字节空间的自动增长主键为什么row_id是整型还是字符型?源代码中 row_id 是 ib_uint64_t这是 8字节 uint64_t 是整形为什么是6个字节?P.S. Base64编码说明Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6...

2019-11-18 15:51:04 2377

原创 事务隔离级别动图演示

事务的基本要素(ACID)原子性(Atomicity)事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。一致性(Consistency)事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣...

2019-11-18 13:52:48 270

原创 redis源码剖析(十一)—— Redis字符串相关函数实现

文章目录初始化字符串字符串基本操作字符串拼接操作other获取指定范围里的字符串将字符串中的所有字符均转为小写的形式将字符串中所有字符均转为大写的形式字符串比较other#define SDS_ABORT_ON_OOM#include "sds.h"#include <stdio.h>#include <stdlib.h>#include <stdarg....

2019-11-13 15:09:58 187

原创 redis源码剖析(九)—— Redis双链表实现

adlist.htypedef struct listNode { struct listNode *prev; struct listNode *next; void *value;} listNode;typedef struct list { listNode *head; listNode *tail; void *(*dup)(vo...

2019-11-13 15:07:47 133

原创 redis源码剖析(八)—— 当你启动Redis的时候,Redis做了什么

文章目录启动过程初始化server结构体main函数会调用initServer函数初始化服务器状态载入持久化文件,还原数据库开始监听事件流程图启动过程初始化server结构体从配置文件夹在加载参数初始化服务器载入持久化文件开始监听事件初始化server结构体服务器的运行IDredis使用的默认端口号,是在server.h定义的CONFIG_DEFAULT_SERVER_PO...

2019-11-13 15:07:13 147 1

原创 redis源码剖析(七)—— Redis 数据结构dict.c

hash表/** * 创建Hash表,Hash表的大小为size */int dictExpand(dict *ht, unsigned long size){ dict n; /* the new hashtable */ //重设Hash表的大小,大小为2的指数 unsigned long realsize = _dictNextPower(size); ...

2019-11-13 15:06:32 292

原创 redis源码剖析(六)—— Redis 数据库、键过期的实现

文章目录数据库的实现数据库读写操作键的过期实现数据库的实现我们先看代码 server.h/redisServerstruct redisServer{ ... //保存 db 的数组 redisDb *db; //db 的数量 int dbnum; ...}再看redisDb的代码:typedef struct redisD...

2019-11-13 15:05:38 241

原创 redis源码剖析(五)—— 字符串,列表,哈希,集合,有序集合

文章目录对象REDIS_STRING (字符串)REDIS_LIST 列表REDIS_SET (集合)REDIS_ZSET (有序集合)REDIS_HASH (hash表)int refcount(引用计数器)unsigned lru:REDIS_LRU_BITS对象对于 Redis 来说使用了 redisObject 来对所有的对象进行了封装:typedef struct redisObj...

2019-11-13 15:03:25 238

原创 redis源码剖析(四)跳表

文章目录整数集合跳跃表压缩列表总结整数集合当一个集合只包含整数,且这个集合的元素不多的时候,Redis 就会使用整数集合 intset 。首先看 intset 的数据结构:typedef struct intset { // 编码方式 uint32_t encoding; // 集合包含的元素数量 uint32_t length; // ...

2019-11-13 15:02:33 173

原创 redis源码剖析(三)——基础数据结构

文章目录SDS链表字典这篇文章关于 Redis 的基础数据:SDSSDS (Simple Dynamic String)是 Redis 最基础的数据结构。直译过来就是”简单的动态字符串“。Redis 自己实现了一个动态的字符串,而不是直接使用了 C 语言中的字符串。sds 的数据结构:struct sdshdr { // buf 中已占用空间的长度 int le...

2019-11-13 14:42:20 136

原创 Redis源码分析(二)redis-cli.c

文章目录1. int main()2. parseOptions(int argc, char **argv) 进行ip和port的改变3. lookupCommand(char *name) 查找命令,判断命令合法3.2 strcasecmp(name,cmdTable[j].name)3.1 redisCommand cmdTable[]4. cliSendCommand(int argc, ...

2019-11-13 14:41:19 1210

原创 Redis源码分析(一)redis.c //redis-server.c

Redis源码分析(一)redis.c //redis-server.c入口函数 int main() 4450 int main(int argc, char **argv) { 4451 initServerConfig(); 4452 if (argc == 2) { 4453 ResetServerSaveParams(); 4454 ...

2019-11-13 14:40:31 803

原创 Redis源码分析(零)学习路径笔记

文章目录第一阶段第二阶段 熟悉Redis的内存编码结构第三阶段 熟悉Redis数据类型的实现第四阶段 熟悉Redis数据库的实现第五阶段 熟悉客户端和服务器端的代码实现第六阶段 这一阶段主要是熟悉Redis多机部分的代码实现关于测试方面的文件有一些工具类的文件如下SORT命令的实现一些封装类的代码实现第一阶段阅读Redis的数据结构部分,基本位于如下文件中:内容文件名内存...

2019-11-13 14:39:49 231 1

Redis开发与运维.png

Redis运维和开发学习笔记-全书思维导图。

2019-12-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除