自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 跬步千里 —— 阿里云Redis bitfield命令加速记
原力计划

简介: 在一次阿里云客户问题解决中,通过给Redis添加bitfield_ro命令,解决了Redis官方bitfield命令无法加速执行的问题,向客户交付了满意的答卷。本文详细描述了阿里云是怎么进行产品中每一点细小的功能改进和体验优化,并持续地反馈社区的全过程。 https://developer...

2020-05-07 11:47:05 120 0

原创 这些年我@yangbodong22011参与的开源

2020年第一天,水一篇博客,对新年起码的尊重。这里记录下我参与的开源项目情况。 Jedis 修复了Jedis transient 关键字造成了序列化错误(https://github.com/xetorthio/jedis/pull/2008) 实现了Redis Cluster下多key...

2020-01-01 23:11:43 237 3

原创 Redis 专栏(使用介绍、源码分析、常见问题...)

一、介绍相关 说Redis : 介绍Redis特性,使用场景,使用Jedis操作Redis等。 二、源码分析 1. 数据结构 Redis源码分析(sds):Redis自己封装的C语言字符串类型。 Redis源码分析(dict):字典的实现,Hash表。 Redis源码分析(adlis...

2017-11-14 13:08:51 1331 0

原创 计算机网络漫谈

前言:本文作于2017年1月~3月之间,借助大三寒假的时间,我把自己学习的网络相关的知识做了个简单的整理,由于个人能力有限,我参考了 阮一峰 互联网协议入门,并且在我文中出现的一些插图也是来自他的原文,通过这些文章,我希望能让读者建立起计算机网络的基本概念,但是文章中也有许多语焉不详的地方,如果...

2017-05-18 08:39:46 1773 4

原创 2020年阿里云实习生招聘开始啦

2020-03-18 20:55:31 306 0

原创 Java Logback简易教程

一、前言 本文以一个简单的项目为例,一步步展示logback的同步和异步配置方法,并且配置的日志要求满足阿里巴巴Java开发手册-日志规约 ,因为对于线上服务,日志对于排查问题有至关重要的作用,规范的日志格式配合shell脚本可以快速定位问题。 最开始使用Java日志系统,最大的疑惑就是分不清楚...

2019-06-19 20:54:55 281 1

原创 Java不同时区(timezone)之间时间转换

最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同时区的时间做转换调整,统一为国内时间。 一、关于时区的一些概念 1.1 什么是时区? timezone,即由于世界各国家与地区经度不同,地方时也有所不同,按照...

2019-03-31 16:25:47 16313 4

原创 char* 和 char[] 的区别

一、代码有关下面代码,p和q的区别是什么:int main(int argc, char *argv[]) { char* p = "Hello World"; char q[] = "Hello World"; return 0; ...

2018-03-18 23:53:56 733 1

原创 Redis INFO 命令详解

没有代码的解释不是解释,没有deadline的任务不是任务,没有流程图或分享的源码阅读不是源码阅读,没有报告的性能测试不是性能测试。 —— 漠冰 曰这篇文章打算作为INFO命令的输出整理汇总,目前还未全部完成…1. 环境代码...

2018-01-27 19:03:44 4717 0

原创 难忘的来杭之旅24小时

2018年1月5日~2018年1月6日12:00 考完最后一门。 14:00 到哥哥这边吃饭。 16:00 和哥哥去姐姐医院,和姐姐说再见。 17:00 到火车站,取票,下雪路滑,拉着箱子不好走。 17:20 刚取完票过安检,火车站通知Z88停运,查票的小姐姐刚好查到我就是Z88...

2018-01-07 22:37:39 1578 12

原创 C语言图书管理借阅系统——ncurses库的使用

一、前言作为一只大四狗,最近还跟着大二同学修了一门课(当然不是之前没通过啦),课程是高级语言课程设计,高级语言指的是C语言 :),内容是做一个XX管理系统,我选择了图书管理系统,先介绍下我做的系统: 主要功能: 读者信息管理:添加、修改、删除、查询读者信息。 图书信息管理:添加图书、修改图书、删...

2017-12-28 15:41:47 2570 0

原创 Redis源码分析(intset)

源码版本:4.0.1 源码位置: intset.h:数据结构的定义 intset.c:创建、增删等操作实现 1. 整数集合简介intset是Redis内存数据结构之一,和之前的 sds、 skiplist、dict、adlist 等通用数据相比,它是Redis特有的,用来实现Redis的Set...

2017-11-30 00:52:45 1883 0

原创 Linux 守护进程原理及实例(Redis、Nginx)

1. 什么是守护进程守护进程daemon,是指没有控制终端,运行在后台的进程,通常伴随着系统启动产生,系统关机结束。可以使用命令ps -axj查看系统的守护进程,输出如下所示: 父ID PID 组ID 会话ID 终端 状态 用户ID 命令 PPID ...

2017-11-28 01:12:09 3855 2

原创 Linux内核 fork 源码分析

内核版本:linux-4.4.18 源码位置:这里fork相关的代码最终执行的函数为_do_fork(),下面按照顺序分析下_do_fork(): 首先判断是否需要trace(跟踪)这个进程,这一步主要与调试相关,GDB在x86-64 Linux 系统上的原理就是利用ptrace(2)系统调用 ...

2017-11-27 19:57:46 2097 0

原创 Redis监控调研

1 调研目的主要的目的是想调研各大云平台有关Redis监控功能的实现,但是最后我发现各大云平台提供的监控功能都比较基础,比如我想看诸如访问频率较高的HotKey、占用内存较大的Bigkey等指标,它们都没有提供,一部分Redis监控的开源工具实现了这样的功能,但是实现方法实用性不大,见后文汇总。2...

2017-11-15 22:12:22 1446 0

原创 Redis源码分析(skiplist)

源码版本: redis-4.0.1 源码位置: server.h :zskiplistNode和zskiplist的数据结构定义。 t_zset.c: 以zsl开头的函数是SkipList相关的操作函数。 一、跳跃表简介跳跃表(SkipList),其实也是解决查找问题的一种数据结构,但是它既...

2017-11-13 19:47:20 2191 0

原创 Redis源码分析(adlist)

源码版本redis-4.0.1一、adlist简介Redis中的链表叫adlist(A generic doubly linked list implementation 一个通用的双端链表实现),和普通单链表相比,它的方向可以向前或者向后,这是由于数据结构中定义了next和prev两个指针决定的...

2017-11-08 13:52:36 2455 0

原创 Redis源码分析(dict)

一、dict 简介dict (dictionary 字典),通常的存储结构是Key-Value形式的,通过Hash函数对key求Hash值来确定Value的位置,因此也叫Hash表,是一种用来解决算法中查找问题的数据结构,默认的算法复杂度接近O(1),Redis本身也叫REmote DIction...

2017-11-07 14:35:08 7617 3

原创 Redis源码分析(sds)

一、SDS简介sds (Simple Dynamic String),Simple的意思是简单,Dynamic即动态,意味着其具有动态增加空间的能力,扩容不需要使用者关心。String是字符串的意思。说白了就是用C语言自己封装了一个字符串类型,这个项目由Redis作者antirez创建,作为Red...

2017-11-01 23:09:21 3700 2

原创 Redis INFO CPU 信息详解

一、INFO CPU通过INFO CPU命令可以查看Redis进程对于CPU的使用情况,如下: 这几个字段的含义如下所示:used_cpu_sys: System CPU consumed by the Redis server used_cpu_user:User CPU consumed...

2017-10-11 21:30:43 4073 7

原创 C语言的“隐式函数声明”违背了 “前置声明” 原则

这个问题来源于小组交流群里的一个问题: 最终问题落脚在 : 一个函数在main中调用了,必须在main之前定义或者声明吗?我在自己的Centos上做了实验,结果是函数不需要,但是结构体(变量也要)需要,如下图: 编译上面的程序,func函数只是一个警告,因此我以为C编译器不管前置声明,然后又测...

2017-10-09 22:21:01 1235 0

原创 腾讯云对象存储如何在浏览器打开已上传文件

对象存储的使用文档见: https://cloud.tencent.com/document/product/436/9512 上传了文件之后,点击文件信息,会显示文件访问链接,如下所示: 但是这个链接的默认操作是把文件下载到本地,图片上也提醒了,如需在浏览器中预览资源,请参考静态网站最佳实践...

2017-09-29 14:19:43 3967 2

原创 google-chrome 启动报错 nss_util.cc(627)] NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required

一、错误情况报错如下:[0807/144244.712736:FATAL:nss_util.cc(627)] NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required Please upgrade to the la...

2017-09-14 23:38:30 7389 1

原创 ZooKeeper 集群搭建 Error contacting service. It is probably not running.

搭建环境:Centos 7 虚拟机 3台 按照此教程搭建:https://www.ilanni.com/?p=11393之后出现错误:Error contacting service. It is probably not running,这个错误是zkServer.sh最后验证状态报的错误,正...

2017-08-31 23:45:07 1314 0

原创 负载均衡算法WRR介绍

一、负载均衡负载均衡是一个很大的概念,既有从硬件层面来解决问题的,又有从软件层面解决的,有关负载均衡的介绍,推荐阅读: http://os.51cto.com/art/201108/285359.htm, 本文主要介绍负载均衡算法中很简单的一种WRR(Weighted Round Robin),...

2017-06-18 18:17:56 8910 0

原创 ShardedJedisPipeline 源码分析

一、什么是pipeline?什么是ShardedJedis?由于pipeline和ShardedJedis的介绍和源码分析在网上已经有了,本文就不再赘述,直接给出链接:pipeline的介绍: http://blog.csdn.net/freebird_lb/article/details/77...

2017-06-18 10:49:45 3111 0

原创 说Redis

一:简单介绍 Redis(Remote Dictionary Server 远程字典服务器) key-value 内存数据库 key是一个string value可以是string,list,hash,set,zset,bitmaps等等 几乎所有的互联网公司都会使用,新浪微博是全球最大的Redi...

2017-06-17 21:56:35 1228 1

原创 计算机网络漫谈之应用层

有关网络我们讨论到今天,整个网络框架我们已经搭建起来了。我们说了数据链路层、网络层、传输层,其实应用层就是在我们之前讨论的基础上使用下面这些层,我打算举例HTTP协议,也是应用层非常重要的协议,”应用层”的作用,就是规定应用程序的数据格式。比如HTTP协议的数据包基本如下所示:HTTP协议的职责就...

2017-05-23 00:16:34 532 0

原创 计算机网络漫谈之UDP和TCP

计算机网络漫谈之传输层 咱们讨论了如果需要确定一个计算机上的不同网络程序(比如QQ和浏览器),需要端口的标识,但是IP头部和帧的头部都没有端口的标识字段,需要新的协议。和前面IP协议的实现套路一样,我们需要一个空间来存放端口号,因此就有了传输层的协议TCP和UDP。最简单的实现就是UDP协议,它...

2017-05-23 00:08:56 763 0

原创 计算机网络漫谈之传输层

之前我们通过学习 数据链路层 和 网络层 知道了一个计算机有两个地址:MAC地址和IP地址,有了MAC地址和IP地址,我们已经可以在互联网上任意两台主机上建立通信。 现在面临的问题是,同一台主机上有许多程序都需要用到网络。比如,你一边浏览网页,一边与我QQ聊天。当一个数据包从互联网上发到你电脑的...

2017-05-22 23:55:42 452 0

原创 计算机网络漫谈之IP数据包

网络层从 网络层 、IP与子网掩码 前前后后我们也说了两次了,IP 这个东西絮絮叨叨的也一直在提。今天我们来解开IP协议的面纱,还记得我们之前在数据链路层说的物理帧的结构吗?就是这样:其中Head叫标头,包含源和目的MAC地址,那时我们还没有IP的概念,但是我们用广播的方式也已经能实现全世界...

2017-05-18 13:21:56 907 1

原创 计算机网络漫谈之IP与子网掩码

通过之前的介绍,我们现在已有的概念是任何一台计算机如果需要接入互联网,都会分配到一个IP地址。这个地址分成两个部分,前一部分代表网络,后一部分代表主机。比如,IP地址172.16.254.1,这是一个32位的地址,假定它的网络部分是前24位(172.16.254),那么主机部分就是后8位(最后的那...

2017-05-18 13:04:25 647 0

原创 计算机网络漫谈之网络层

在 数据链路层 中,我们Get了数据包的定义(帧=标头+数据)、网卡的MAC地址、广播发送方式三个重要概念。并且我们知道在技术上,依靠MAC地址和广播的发送的方式,我们其实可以实现全世界范围内的计算机互相通信(比如西安和芝加哥)。留给你的问题是:广播的方式到底合适吗?回答:不能适用一般数据包的发送...

2017-05-18 11:42:15 468 0

原创 计算机网络漫谈之数据链路层

让我们从整个协议最底层开始,先来看看数据链路层主要都做了哪些事:首先上面两台电脑需要通信,先将它们物理连接起来,然后就可以传送高低电位了,高电位表示1,低电位表示0。但是单纯的0和1没有任何的意义,我们必须人为的规定解读方式,比如:多少个0和1作为一组信号?每个信号位有什么含义?…… 还记得不?...

2017-05-18 11:23:54 799 0

原创 计算机网络漫谈之OSI七层模型和TCP/IP四层模型

在 什么是网络? 中,你已经知道计算机网络是物理连接的“局域网”和工作于这个局域网上的“网络协议”,并且我们的重心是网络协议。有关网络协议,按照目前的分层方式主要有两种,一种是OSI七层模型(忽略它,没什么卵用 :)),一种是TCP/IP四层模型。下面我们主要来看看它们的对应关系和工作在不同...

2017-05-18 09:24:49 972 2

原创 计算机网络漫谈之什么是网络

我提出一个问题:你的微信消息怎样发送给你的好友? 或许你现在什么也不知道?或许你现在已经可以告诉我:消息是先到腾讯的微信服务器的,然后腾讯再遍历我的好友列表,找到好友,把消息发送给他。回答正确!但是也很明显,这个过程中你和好友的手机都是和腾讯服务器相连的。所以什么是网络呢?就是用物理设备将各个“局...

2017-05-18 08:54:28 1010 0

原创 欢迎加入XiyouLinuxGroup邮件列表

一:为什么要使用邮件列表?与QQ,微信等即时通讯的交流方式相比,使用邮件列表交流有以下好处: 保存性好,易于阅读。它能将一个问题讨论的过程完全保存下来,但是QQ的话,聊天记录很容易就刷没了,再也无法找到。小组邮件列表里在2009年有关”const“讨论的情况现在还是可以搜索到。答案准确、有深度。如...

2017-04-27 14:55:07 805 1

原创 connect & send 在三次握手过程中的有趣问题

一、问题回顾面试的时候被问到的问题,原问题是: 1:写一下socket网络编程服务端和客户端常用的函数。 2:如果服务端在listen之后没有accept,那客户端的connect会返回吗?为什么? 3:此时调用send发数据会怎么样? 在看下面答案之前,推荐阅读: 深入探索 ...

2017-04-09 10:12:26 2103 7

原创 GDB 调试技巧(不断更新中......)

一、break到不同类的同名函数 方法: 在函数前面加类名以及作用域运算符 eg : break A::func //break 到类A的func函数 程序如下://gdb_test.cpp#include<iostream>class A { public...

2017-03-29 18:44:18 1492 1

原创 Redis网络库源码分析(3)之ae.c

一、aeCreateEventLoop & aeCreateFileEvent上一篇文章中,我们已经将服务器启动,只是其中有些细节我们跳过了,比如aeCreateEventLoop函数到底做了什么? 接下来我们要分析ae.c文件,它是整个Redis网络事件框架,其中定义了各个管理事件的函...

2017-03-23 23:53:15 1295 1

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