10 molaifeng

尚未进行身份认证

暂无相关简介

等级
TA的排名 7k+

Redis 之压缩列表

Redis 中的五种类型,在底层存储上并不是唯一的,而是依据 redisObject 中 encoding 来选择更适合的编码方式。比如上一篇介绍的字符串,就有 int、embstr、raw 三种,而且在不同的场景是动态变动的,比如 embstr 进行 append 操作后 encoding 就改成了 raw。127.0.0.1:6379> hmset person name molaif...

2020-04-06 19:27:06

Redis 之简单动态字符串

介绍完字典,今天再来谈谈 Redis 中另一个广泛使用的数据结构 SDS,也被称为简单动态字符串。在看 Redis 各版本特性时,发现 SDS 结构是在 3.2 版本上做了速度和节省空间上的优化。下面是 3.2 版本之前的结构。// sds.hstruct sdshdr { int len; /* buf 数组已占用的字节数 */ int free; /* buf 数组中可用的字节数...

2020-04-04 01:23:08

Redis 之字典

在前面 浅谈 Redis 简单介绍过字典,是用来存储数据库所有 key-value 的,同时如果指定 key 为 哈希时,字典也是其 value 的底层实现之一,今天就来聊聊字典。字典的数据结构主要由三部分组成:dict(字典)、dictht(哈希表)、dictEntry(哈希表节点)。接下来分别介绍下这三种结构。// dict.htypedef struct dict { dic...

2020-03-29 22:40:45

浅谈 Redis

前言Redis 作为一个高性能的内存数据库,其读效率达到 10w qps/s,写也能到达 4-5w qps/s。今天就来简单的聊下其底层的实现,达到知其然并知其所以然。redisServerRedis 作为典型的 C/S 模式,客户端连接到服务端,然后进行交互。那么就来看看服务端的数据结构// server.hstruct redisServer { …… redisDb *db;...

2020-03-20 19:13:07

Redis 管理工具 RedisInsight

Redis 安装好并运行一段时间后,如何清晰的看到 Redis 占了多大内存,有多少个 KEY,所占的网络如何,这个在 RedisInsight 下就是一目了然了,特别方便。下载也特别简单,到此网站下载你想要的版本就行。...

2020-03-16 19:14:43

测试环境搭建 redis-cluster

Linux 版本2.6.32-431.el6.x86_64Redis 版本redis-5.0.7安装见此博客集群搭建创建目录创建 redis-cluster 目录,并在里面创建如下目录mkdir -p /usr/local/redis-cluster/cd /usr/local/redis-cluster/mkdir 7001 7002 7003 7004 7005 70...

2020-03-16 19:09:39

解决跨域上传文件时报错

下午群里@我说,上传文件有问题,看了下,发现报如下错误has been blocked by CORS policy: The "Access-Control-Allow-origin' header contains multiple values''*,* but only one is allowed.字面意思是设置了重复跨域了。于是开始着手解决问题:这个上次附件是页面上 js 直接调...

2020-03-05 18:49:37

linux 下批量操作善用 \

有快两个月没写博客了,今天就水一遍,主要源于本月中旬的一个需求,批量打包文件,但又懒得写 shell 脚本,想起了平常安装工具时的 \ 分成多行的符号,那么就简单了,只需写成如下即可tar czvf image.tar.gz a.png b.png \c.png \d.png \e.png...

2020-02-29 16:13:57

Go 错误处理

错误处理在默认情况下,当发生错误后(panic) ,程序就会退出(崩溃)如果我们希望:当发生错误后,可以捕获到错误,并进行处理,保证程序可以继续执行。还可以在捕获到错误后,给管理员一一个提示(邮件短信…)基本说明Go 语言追求简洁优雅,所以,Go 语言不支持传统的 try…cact…finally 这种处理。Go 中引入的处理方式为: defer, panic, recov...

2019-12-31 22:03:24

Go 数组、切片和 map

数组数组可以存放多个同一类型数据。数组也是一种数据类型,在 Go 中,数组是值类型。package mainimport "fmt"func main() { var hen [6]float64 hen[0] = 1.00 hen[1] = 1.00 hen[2] = 2.00 hen[3] = 3.00 hen[4] = 4.00 hen[5] = 50.00...

2019-11-30 18:25:01

Go 面向对象

引言Go 的面向对象,语法清奇,思路独特,和传统的面向对象语言如 Java 完全不同,可开阔思路。结构体谈到面向对象,就不得不提其载体 structtype 结构体名称 struct{ field1 type field2 type}以上便是其定义的语法,使用也很简单type Student struct { Name,Address string Age in...

2019-10-31 22:47:17

结构体大小计算、typedef、函数指针小记

结构体大小计算计算结构体大小的规则:每一个成员的偏移量都必须是该成员的倍数。结构体的大小必须是该结构体字节数最大成员的倍数。先来说说什么是偏移量,某个成员的实际地址和结构体首地址之间的距离struct data { int a; char b; int c;}因为 a 为首地址,因此偏移量为 0同时 int a 在内存中占 4 个字节,也就是是 b 的偏移量;由于 4...

2019-09-06 09:56:29

Go 初探

缘由现在用 Go 的公司越来越多,学 Go 的童鞋也越来越多,于是我便随大流开始学 Go,这篇博客便记录今晚安装及成功运行第一个 Hello World 的例子。安装进入 https://studygolang.com/dl 下载 https://dl.google.com/go/go1.13.windows-amd64.msi ,由于没有连上 Linux 环境,便在 Windows 上安...

2019-09-05 23:26:28

Asterisk 控制台为什么日志不显示颜色

今天在群里有个人问到请问下,这个彩色日志是怎样设置打印出来的,我的这些呼叫日志怎么都是白色的呢于是追踪了下。在 Linux 终端上显示颜色的代码,格式为%c[%d;%d;%dm%s%c[%d;%dm如,下面两个实例echo -e "\033[44;37;5m ME \033[0m"echo -e "\e[32;1m[OK]\e[0m"字色 背景 ...

2019-08-12 17:10:27

Heartbeat 安装教程

准备两台虚拟机10.254.124.22710.254.124.228虚拟 IP10.254.124.22关闭防火墙service iptables stop配置网络和主机名分别在两台服务器上的 /etc/hosts 加上10.254.124.227 Master10.254.124.228 Slave修改主机名vim /etc/sysconfig/network...

2019-07-10 17:45:19

利用 inotifywait 和 rsync 实现文件秒级同步

安装 inotifywaityum install -y inotify-tools安装 rsyncyum install -y xinetd配置 rsync把 /etc/xinetd.d/rsync 里面的 disable 值由 yes 改为 no,启动 xinetd,“service xinetd start”,再看看 netstat -tunlp | grep 873 ,发现 ...

2019-07-05 11:24:36

yum 安装 php7

安装 epel 和 remi 源wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -ivh epel-release-latest-7.noarch.rpmwget http://rpms.remirepo.net/enterprise/remi-release-7.rpmrpm ...

2019-06-27 18:07:50

浏览器跨域解决方案

今天介绍一个实用的浏览器跨域方案。比如 A 网址嵌入了 B 网址的页面,这时 B 网址的页面想要调用 A 网址的页面的方法,因为域名不同,由于浏览器同源策略的限制会被 blocked 掉的。一下给出一个方法在 A 网址的写下window.addEventListener("message",function(obj){ console.log(obj);});再在 B 网址的页面里...

2019-06-14 17:25:03

Asterisk 简介

Asterisk 定义Asterisk 是一个应用于 VOIP 的开放源代码的 PBX 系统;可以运行在 Linux,BSD,Windows(仿真的)以及 OS X 上;提供了语音邮箱服务(Voicemail)、电话会议、交互式语音应答(IVR)、呼叫队列,它还可以支持三方呼叫,主叫标识;支持 4 类 VOIP 的协议;通过使用相对便宜的硬件,它可以与几乎全部基于标准的电话设备进行互联操作。与...

2019-05-31 22:32:51

C 和指针第 9 章 字符串、字符和字节 笔记

这章总体来说,简单,基本就是进一步介绍了字符串、字符和字节常用函数的使用,以及注意的事项。9.1 字符串基础字符串就是一串零个或多个字符,并且以一个模式为全 0 的 NUL 字节结尾。头文件 string.h 包含了使用字符串函数所需的原型和声明。9.2 字符串长度就是它所包含的字符个数。size_t strlen(char const *string);size_t 定义在 st...

2019-04-28 23:05:24

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。