关闭
当前搜索:

[置顶] Redis 专栏(使用介绍、源码分析、常见问题...)

一、介绍相关说Redis : 介绍Redis特性,使用场景,使用Jedis操作Redis等。二、源码分析1. 数据结构Redis源码分析(sds):Redis自己封装的C语言字符串类型。Redis源码分析(dict):字典的实现,Hash表。 Redis源码分析(adlist):Redis中的双向链表。 Redis源码分析(skiplist) :Redis 中的跳跃表,平均O(log n)的查询效率...
阅读(202) 评论(0)

[置顶] 计算机网络漫谈

前言:本文作于2017年1月~3月之间,借助大三寒假的时间,我把自己学习的网络相关的知识做了个简单的整理,由于个人能力有限,我参考了 阮一峰 互联网协议入门,并且在我文中出现的一些插图也是来自他的原文,通过这些文章,我希望能让读者建立起计算机网络的基本概念,但是文章中也有许多语焉不详的地方,如果搞懂,我会不断更新。我希望你读这些文章就像读故事一样,这样你会很容易理解网络中的一些诸如为什么计算机需要...
阅读(552) 评论(3)

难忘的来杭之旅24小时

2018年1月5日~2018年1月6日12:00 考完最后一门。 14:00 到哥哥这边吃饭。 16:00 和哥哥去姐姐医院,和姐姐说再见。 17:00 到火车站,取票,下雪路滑,拉着箱子不好走。 17:20 刚取完票过安检,火车站通知Z88停运,查票的小姐姐刚好查到我就是Z88,笑个不停,我问她:这是不是你今天最开心的事?她说:是。 17:40 退Z88,改签T114(23点...
阅读(153) 评论(10)

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

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

Redis源码分析(intset)

源码版本:4.0.1 源码位置: intset.h:数据结构的定义 intset.c:创建、增删等操作实现 1. 整数集合简介intset是Redis内存数据结构之一,和之前的 sds、 skiplist、dict、adlist 等通用数据相比,它是Redis特有的,用来实现Redis的Set结构(当元素较小且为数字类型时),它的特点有: 元素类型只能为数字。 元素有三种类型:int16_t、i...
阅读(148) 评论(0)

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

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

Linux内核 fork 源码分析

内核版本:linux-4.4.18 源码位置:这里fork相关的代码最终执行的函数为_do_fork(),下面按照顺序分析下_do_fork(): 首先判断是否需要trace(跟踪)这个进程,这一步主要与调试相关,GDB在x86-64 Linux 系统上的原理就是利用ptrace(2)系统调用 [1]。 有关likely和Unlikely,实际上是利用gcc内置函数对分支条件的优化 [2]。...
阅读(141) 评论(0)

Redis监控调研

1 调研目的主要的目的是想调研各大云平台有关Redis监控功能的实现,但是最后我发现各大云平台提供的监控功能都比较基础,比如我想看诸如访问频率较高的HotKey、占用内存较大的Bigkey等指标,它们都没有提供,一部分Redis监控的开源工具实现了这样的功能,但是实现方法实用性不大,见后文汇总。2 调研情况2.1 常见公有云平台监控我所调研的阿里云、腾讯云、青云这三个平台给用户提供的监控信息均是采用...
阅读(189) 评论(0)

Redis源码分析(skiplist)

源码版本: redis-4.0.1 源码位置: server.h :zskiplistNode和zskiplist的数据结构定义。 t_zset.c: 以zsl开头的函数是SkipList相关的操作函数。 一、跳跃表简介跳跃表(SkipList),其实也是解决查找问题的一种数据结构,但是它既不属于平衡树结构,也不属于Hash结构,它的特点是元素是有序的。有关于跳跃表的更多解释,大家可以参考 张...
阅读(291) 评论(0)

Redis源码分析(adlist)

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

Redis源码分析(dict)

一、dict 简介dict (dictionary 字典),通常的存储结构是Key-Value形式的,通过Hash函数对key求Hash值来确定Value的位置,因此也叫Hash表,是一种用来解决算法中查找问题的数据结构,默认的算法复杂度接近O(1),Redis本身也叫REmote DIctionary Server (远程字典服务器),其实也就是一个大字典,它的key通常来说是String类型的,...
阅读(3682) 评论(2)

Redis源码分析(sds)

一、SDS简介sds (Simple Dynamic String),Simple的意思是简单,Dynamic即动态,意味着其具有动态增加空间的能力,扩容不需要使用者关心。String是字符串的意思。说白了就是用C语言自己封装了一个字符串类型,这个项目由Redis作者antirez创建,作为Redis中基本的数据结构之一,现在也被独立出来成为了一个单独的项目,项目地址位于这里。sds 有两个版本,在...
阅读(353) 评论(0)

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 by the Redis server used_cpu_sys_children: System C...
阅读(248) 评论(0)

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

这个问题来源于小组交流群里的一个问题: 最终问题落脚在 : 一个函数在main中调用了,必须在main之前定义或者声明吗?我在自己的Centos上做了实验,结果是函数不需要,但是结构体(变量也要)需要,如下图: 编译上面的程序,func函数只是一个警告,因此我以为C编译器不管前置声明,然后又测试了c++的编译器,发现不能通过编译,直接报错。 然后查询到C++前置声明的相关资料,强制要求前置声明...
阅读(242) 评论(0)

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

对象存储的使用文档见: https://cloud.tencent.com/document/product/436/9512 上传了文件之后,点击文件信息,会显示文件访问链接,如下所示: 但是这个链接的默认操作是把文件下载到本地,图片上也提醒了,如需在浏览器中预览资源,请参考静态网站最佳实践,并使用自定义域名访问,也就是说:你必须有已经合法备案的域名才可以使这个资源在浏览器中打开如果你有域名,...
阅读(560) 评论(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 latest NSS, and if you still get this error, contact your distribut...
阅读(5058) 评论(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最后验证状态报的错误,正常情况下状态是leader或者follower。网上有关这个问题出现的可能性有很多分析,大家自行搜索,我...
阅读(383) 评论(0)

负载均衡算法WRR介绍

一、负载均衡负载均衡是一个很大的概念,既有从硬件层面来解决问题的,又有从软件层面解决的,有关负载均衡的介绍,推荐阅读: http://os.51cto.com/art/201108/285359.htm, 本文主要介绍负载均衡算法中很简单的一种WRR(Weighted Round Robin),加权轮训调度算法,并且配合实现以及对它存在问题进行分析和提出一些优化策略。二、原始的WRR算法假设有3台...
阅读(1215) 评论(0)

ShardedJedisPipeline 源码分析

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

说Redis

一:简单介绍 Redis(Remote Dictionary Server 远程字典服务器) key-value 内存数据库 key是一个string value可以是string,list,hash,set,zset,bitmaps等等 几乎所有的互联网公司都会使用,新浪微博是全球最大的Redis使用者 二:特性 C语言实现,单线程Epoll模型,无锁的争用,速度快 客户端语言众多,非常容易上手使...
阅读(479) 评论(1)

计算机网络漫谈之应用层

有关网络我们讨论到今天,整个网络框架我们已经搭建起来了。我们说了数据链路层、网络层、传输层,其实应用层就是在我们之前讨论的基础上使用下面这些层,我打算举例HTTP协议,也是应用层非常重要的协议,”应用层”的作用,就是规定应用程序的数据格式。比如HTTP协议的数据包基本如下所示:HTTP协议的职责就是把数据组织成这个样子,然后把自己填入TCP数据包的”数据”部分。因此,现在的以太网的数据包就变成下面这...
阅读(331) 评论(0)
167条 共9页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:181777次
    • 积分:3454
    • 等级:
    • 排名:第11188名
    • 原创:162篇
    • 转载:5篇
    • 译文:0篇
    • 评论:113条
    友情链接
    最新评论