Redis 底层数据结构和对象
Update:《Redis设计与实现》读书笔记
简单动态字符串
Redis没有直接使用C语言传统的字符串表示(以空格结尾的字符串数组),而是自己构建了一种名为简单动态字符串(SDS)的结构,并将SDS用作默认字符串表示。 SDS定义如下:
struct sdshdr {
// 保存的字符串的长度
int len;
// 未使用的字节数量
int free;
// 字节数组,用于保存字符串
char buf[];
} shshdr;
SDS遵循C字符串以空字符结尾的惯例,保存空字符的1字节空间不计算在SDS的len属性里。遵循这种惯例,使得SDS可以直接服用一部分C字符串函数。
SDS优势
常数复杂度获取字符串长度
...
Deepin 安装 MySQL
Update:简单无脑的 MySQL 安装笔记
Deepin 安装 MySQL
1. 添加软件源
Deepin 软件源里并没有包括 MySQL,需要手动添加,官方文档里也给出了详细说明
去下载页面下载配置软件的安装包,选择合适的版本
安装上一步的安装包,假设版本为 0.8.17-1,则命令为 sudo dpkg -i mysql-apt-config_0.8.17-1_all.deb
随后会弹出GUI弹框,根据自己的系统选择合适的 MySQL 版本
更新软件源 sudo apt-get update
2. 安装
执行命令 sudo apt-get install mysql-server 安装
安装过程中会要求输入管理员root密码,需牢记
...
Sentry 部署小笔记
Update:Sentry 部署笔记
Sentry 部署笔记
1. Sentry 依赖
使用 docker 部署 Sentry 目标主机需要安装python、docker和docker-compose。
硬件要求
资源
大小
描述
内存
最少2GB
推荐4GB
软件要求
软件
版本
描述
Python
2.7或更高版本
Python安装指南
Docker engine
...
jekyll 安装笔记
Update:jekyll 安装笔记
jekyll 安装笔记
每次服务器推到重来,环境搭建最难受,好记性不如烂笔头,记录下来才是最靠谱的。
2. 安装
安装 ruby
我是 ubuntu 系统,直接安装 ruby,在后面的步骤中会‘ruby 缺少所有的头文件’的错,所以安装 ruby-dev。
sudo apt update && sudo apt install ruby-dev
安装 jekyll
gem install jekyll
打包文件
jekyll build --source <source> --destination <...
Harbor Note
title: “Harbor 部署小笔记”
subtitle: ‘使用 docker 部署 Harbor’
tags:
docker
Update:最终我终于摸到了 Harbor 的皮毛
Harbor使用和安装指南
1. Harbor依赖
Harbor被部署为几个Docker容器,因此Harbor可以部署在任何支持Docker的发行版上。安装Harbor目标主机需要安装python、docker和docker-compose。
硬件要求
资源
大小
描述
CPU
最少2核
推荐4核
内存
...