10 molaifeng

尚未进行身份认证

我要认证

道阻且长,行则将至;行而不辍,未来可期。

等级
TA的排名 6k+

解决 InnoDB: Cannot allocate memory for the buffer pool

解决 InnoDB: Cannot allocate memory for the buffer pool

2020-08-05 15:35:39

解决uploadify上传文件session失效的问题

据线上反馈,某个页面上传文件的时候失效,刷新页面后退出系统,于是在 beta 环境上尝试复现,成功,是个稳定的 bug 的,于是开始了探索、解决之旅。打开 Chrome 浏览器控制栏,仔细观察了下上传前后请求的变化,发现每当点击上传按钮上传文件时,都会更新 session_id。嚯,这个隐隐有种熟悉的感觉,再尝试几次后,定位到是上传组件 uploadify 的问题。这是个 flash 插件,以前遇到过一次,那时是在火狐浏览器上,每次上传文件都会遇到 session 失效情形,于是就用了个 hack 方法解

2020-07-31 14:48:28

Postman 批量测试接口

前言今天简单介绍下一个在接口开发中批量测试的工具 Postman。基础设置这个可以在官网下载,打开后界面如上所示。由于是批量测试接口,那咱们就把接口都归属到 Collections 里。按照 1、2、3 所示,点击 Create 保存,就出现如下图所示的聚合测试文件夹。接下来,就简单了,把开发的接口依次添加到此文件夹内。方法为:右键单击 接口批量测试,再点击弹出的菜单栏里的 Add Request 一栏。接着在弹窗里写下接口的名称,再点击 Save to 接口批量测试这里为了演示接口

2020-06-30 23:52:00

安装 API 网关 APISIX

Apache APISIX 是国人开源的微服务 API 网关,目前发展势头旺盛,性能强劲,不知道此为何物的可以去 GITHUB 官方仓库文档里看看详细介绍。系统版本

2020-05-15 23:24:31

Redis 之 Stream(上)

Stream 为 Redis 5.0 的一大亮点,可以功能完善的支持消息队列,是异步处理、应用解耦、限流削峰的一大利器。由于 Stream 涉及的知识点较多且出来的时间也不算长( 2018/10/17 正式 release),直接上来讲源码大家看着可能有些懵,于是把这一主题分为上、下两篇:上篇主要介绍 Stream 的应用,让大家对 Redis 的 Stream 作为消息队列有所了解;下篇就深入到...

2020-04-26 22:47:21

Redis 之快速列表

快速列表(quicklist)是在 Redis 3.2 版本中引入的,之前版本用的是 listNode 组成的无环双链表实现的。// adlist.htypedef struct listNode { struct listNode *prev; /* 前置节点 */ struct listNode *next; /* 后置节点 */ void *value; /* 节点的值 */}...

2020-04-16 23:24:41

Redis 之整数集合

在 Redis 中,字典和整数集合是集合的两种实现方式。

2020-04-12 00:29:45

Redis 之跳表

跳表,又称跳跃表,在 Redis 中表现为 skiplist,是一种有序的数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。在正式介绍跳表前,先来看看 Redis 中的有序集合。zadd class 87.5 alice 87.5 fred 65.5 charles 94.5 emily向 class 有序集合里插入 4 条数据,查看下底层编码实现。1...

2020-04-09 20:14:38

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

查看更多

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