E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
redis源码
[
Redis源码
阅读]redis持久化
作为web开发的一员,相信大家的面试经历里少不了会遇到这个问题:redis是怎么做持久化的?不急着给出答案,先停下来思考一下,然后再看看下面的介绍。希望看了这边文章后,你能够回答这个问题。为什么需要持久化?由于Redis是一种内存型数据库,即服务器在运行时,系统为其分配了一部分内存存储数据,一旦服务器挂了,或者突然宕机了,那么数据库里面的数据将会丢失,为了使服务器即使突然关机也能保存数据,必须通过
Jiziyang68
·
2018-07-03 10:35
Redis
Scrapy-
redis源码
学习
defaults:默认参数配置connection:建立Redis连接utilsqueue:任务调度队列dupefilter:实现request去重scheduler:远程任务调度spiders:赋予Scrapyspiders远程调度pipelines:默认数据收集存储Scrapy是Python的一个非常强大的爬虫库,但是当我们要爬取的页面非常多的时候,单个主机的处理能力就不能满足我们的需求了(无
pyfreyr
·
2018-07-02 21:40
scrapy
SO_REUSEADDR和SO_REUSEPORT选项
最近看
redis源码
,看到redis的网络模型,借机对socket编程和TCP/IP协议做了进一步的巩固和熟悉。
孤独剑0001
·
2018-06-29 12:58
计算机网络
Redis源码
阅读:Redis里的链表
Redis源码
阅读:Redis里的链表链表的数据结构链表在Redis中应用广泛,adlis.h/c中定义了相关的数据结构与基本的函数基本的数据结构定义如下:typedefstructlistNode{structlistNode
King_DJF
·
2018-06-28 20:48
Redis
C
Redis源码
阅读:Redis字符串SDS
SDS基本概念简单动态字符串(SimpleDynamicString)SDS,用作Redis的默认字符串。C语言中的字符串:以空字符结尾的字符数组SDS实现举例redis>SETmsg"helloworld"OK我们通过SET在Redis数据库中创建了一个数据键对象为"msg"和数据值对象为"helloworld"的键值对,其中数据键和数据值对象底层的字符串实现都是SDS。同时,SDS还被用于AO
Npcccccc
·
2018-06-21 13:48
Redis
【Redis学习笔记】2018-05-29
redis源码
学习之跳跃表
顺风车运营研发团队谭淼跳跃表(skiplist)是一种有序的数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到指向其他节点的目的。在Redis中,有序集合是通过跳跃表和hash实现的。一、跳跃表为了更好的阅读下面的文章,建议先对跳跃表的基本概念进行学习,链接如下:https://www.cnblogs.com/a8457...二、数据结构先看一下与跳跃表有关的数据结构。1、zskip
LNMPR源码研究
·
2018-06-14 00:00
redis
[
Redis源码
阅读]当你输入get/set命令的时候,Redis做了什么
上一篇文章介绍了redis-server的启动过程,服务端启动之后,就启动事件循环机制监听新事件的到来,此时不同的客户端就可以通过发送指令的方式请求server并得到处理结果的回复。在开发过程中,用到最多的就是get和set命令,那么,当我们输入get/set命令时,redis做了什么呢?redis-cli启动了解命令是如何使用之前,先了解下redis-client启动时做了什么。redis客户端
hoohack
·
2018-06-11 00:00
源码学习
redis
CentOS7 64位安装Redis
2.使用xftp工具将
redis源码
包上传到Linux系统。3.解压缩
redis源码
包。命令:tar-zxfredis-4.0.9.ta
猫plus
·
2018-06-09 22:17
Linux
Redis实现——String类型(sds)
sds相比C语言原始字符串最大优势在于空间预分配,惰性空间释放,性能得到很大提高定义设计redis实现sds相关的
redis源码
文件有:sds.c、sds.hsds
WeiJiFeng_
·
2018-06-07 22:57
redis
redis源码
解读总结(redis一致性哈希实现)
最近工作中一直在用redis进行缓存功能的实现,redis的源码虽然只有一万多行,但是确实值得研究一下,以下个人的一点研究和看法(本来打算用图表示,实在找不到一种好的画图工具来描述,因此就用文字描述了),希望能跟各位共勉之。一、1.构建JedisShardInfo列表ListjedisShardInfoList,其中JedisShardInfo包含了服务器IP,端口等信息,其源码如下:[java]
可爱马莲花
·
2018-05-29 20:14
redis
redis源码
解析--跳跃表
一、什么是跳跃表?定义:跳跃表是一种有序数据结构,它通过在每个节点中维护多个指向其他节点的指针,从而达到快速访问节点的目的。注意几个关键词:有序:结构是有序的每个节点维护多个指针,本身结构是链表形式,和普通链表的不同之处在于每个元素内含多个指针跳跃表支持平均O(logN),最坏O(N)复杂度的节点查询,大部分情况下,跳跃表的效率可以和平衡树相媲美,并且因为跳跃表的实现比平衡树要来得简单,所以有不少
yinnnnnnn
·
2018-05-26 12:41
后端
[
Redis源码
阅读]当你启动Redis的时候,Redis做了什么
直奔主题,当启动Redis的时候,Redis执行了哪些操作?假设Redis安装在了/usr/local/目录下,那么启动Redis是通过执行/usr/local/bin/redis-server-cxxx.conf的方式执行。redis-server是一个通过编译server.c文件生成的程序,因此想了解redis是怎么启动的,应该从server.c/main函数入手。具体代码可见:server.
hoohack
·
2018-05-26 00:00
redis
redis源码
之对象
未完待续…对象简介:对于Redis数据库保存的键值对来说,键总是一个字符串对象,而值则可以是:1.字符串对象、2.列表对象、3.哈希对象、4.集合对象、5.有序集合对象的其中一种。2.定义所有的对象都是按照如下的方式定义的,而不同的对象他们对应的值不同而已,但是结构都是如下所示。typedefstructredisObject{//类型,TYPE命令返回数据库键对应的值对象的类型,而不是键对象的类
幻世111
·
2018-05-21 17:12
redis
Redis基本数据结构之SDS
本文以redis3.2.8版本来介绍
redis源码
。
happen
·
2018-05-19 00:00
redis
redis(四)--安装redis报错"/bin/sh: cc: command not found"和“jemalloc/jemalloc.h: No such file or directory“
一、/bin/sh:cc:commandnotfound在linux系统上对
redis源码
进行编译时提示提示“makeccCommandnotfound,make:***[adlist.o]Error127
心诚则灵--艾
·
2018-05-16 17:24
redis
redis
Redis源码
剖析——有序集合对象
有序集合对象有序集合的对象的编码可以为ziplist或者skiplistziplist实现有序集合当满足下面两个条件时,有序集合的底层数据结构为skiplist1.元素数量小于128个2.所有元素成员的长度都小于64字节ziplist编码的有序集合使用两个连续的节点来表示键值对,第一个保存成员,第二个保存分值,按分值从小到达排列创建一个ziplist编码的有序集合对象的函数如下robj*creat
Coding_Reading
·
2018-05-14 19:57
Redis源码剖析
Redis源码
剖析——skiplist的实现
跳跃表skiplist跳跃表是一种有序的数据结构,它通过用空间换时间,在每个节点中维持多个指向其他节点的指针,从而达到快速访问的目的。跳跃表插入、删除的平均复杂度为O(logN),最坏为O(N),可以和红黑树相媲美,但是在实现起来,比红黑树简单很多。Redis使用跳跃表来实现有序集合对象基本结构//跳跃表节点typedefstructzskiplistNode{//成员对象robj*obj;//分
Coding_Reading
·
2018-05-12 16:11
Redis源码剖析
Redis源码
剖析--字符串t_string实现
介绍完Redis的底层数据结构之后,介绍我们平时使用Redis的时候可以直接看到五种数据结构:字符串、哈希、链表、集合和有序集合。首先介绍字符串t_string的实现。字符串的结构上一篇文章讲到过字符串的底层实现其实有三种编码:类型编码对象REDIS_STRINGREDIS_ENCODING_INT使用整数值实现的字符串对象。REDIS_STRINGREDIS_ENCODING_EMBSTR使用e
harleylau
·
2018-05-10 09:46
redis
源码
Redis源码剖析
redis
源码
跳跃表以及跳跃表在redis中的实现
之前在阅读
redis源码
的时候了解到跳跃表这个数据结构,当时花了点时间了解了下,并做了记录;如今差不多一年过去了,被人问起,竟然一点印象都没有了。然后回头去看自己的注解,重新梳理下。
idwtwt
·
2018-05-09 17:23
算法与数据结构
Redis源码阅读
Linux下Redis的搭建和使用(伪分布式)
一:环境1、Redis需要c语言的编译环境,在线安装gcc yuminstallgcc-c++二:安装Redis本文档所使用的文件资源1、将Redis的源码包上传到Linux下2、解压
Redis源码
包
jz_say
·
2018-05-06 10:21
淘淘商城练习
redis内存限制管理---maxmemory配置详解
这篇文章,我们从
redis源码
的角度剖析一下redis的最大内存管理策略。
redis源码
中的内存管理策略都存
孤独剑0001
·
2018-04-28 11:26
redis
Redis源码
研究之AOF持久化
本文主要研究AOF持久化策略的实现方式,了解AOF数据组织方式和运作机制。。建议阅读:1、RedisAOF持久化方式的理论说明见:Redis之AOF持久化小探I、上帝视角为了更好的理解AOF持久化,我们首先将其拆分为文件追加,文件写入,文件同步三个部分:1.1文件追加structredisServer结构中维护了一个AOF缓冲区,服务器在执行完一个写命令后,会以协议的格式调用feedAppendO
wenmingxing
·
2018-04-26 22:59
redis最新版 redis-4.0.9 集群搭建
ruby2.53.1、下载最新版ruby,输入以下命令3.2、解压编译到指定文件夹3.3、配置环境变量3.4、查看ruby是否安装成功4、使用gem安装ruby的redis依赖包四、启动redis五、创建集群1、将
redis
guohan_solft
·
2018-04-20 13:36
大数据
linux搭建redis单机版
上传
redis源码
包2. 解压3.
KeJason
·
2018-04-20 00:00
redis 源码编译安装
1.下载
redis源码
包 wget http://download.redis.io/releases/redis-3.0.5.tar.gz2.解压安装包,进入目录tarxzvfredis-3.0.5.
dymkkj
·
2018-04-12 14:55
NoSQL
redis4.0.8安装并解决ruby2.2.2升级2.3.3问题
redis源码
包下载地址http://redis.io/download安装redis的前提条件yuminstall-ygccgcc-c++1、将源码包上传到linux服务器/usr/local2、解压源码包
li-zhen
·
2018-04-10 22:28
Scrapy分布式原理及Scrapy-
Redis源码
解析(待完善)
1Scrapy分布式原理2队列用什么维护首先想到的可能是一些特定数据结构,数据库,文件等等.这里推荐使用Redis队列.3怎样来去重保证Request队列每个request都是唯一的.集合中每个元素是不重复的4怎样防止中断5怎样实现该架构Scrapy-Redis库已经完整实现了该架构.源代码地址:Scrapy-Redis/scrapy_redis/connection.py#用来连接redis基本
Cowry5
·
2018-04-07 00:25
爬虫
Scrapy分布式原理及Scrapy-
Redis源码
解析(待完善)
1Scrapy分布式原理2队列用什么维护首先想到的可能是一些特定数据结构,数据库,文件等等.这里推荐使用Redis队列.3怎样来去重保证Request队列每个request都是唯一的.集合中每个元素是不重复的4怎样防止中断5怎样实现该架构Scrapy-Redis库已经完整实现了该架构.源代码地址:Scrapy-Redis/scrapy_redis/connection.py#用来连接redis基本
Cowry5
·
2018-04-07 00:25
爬虫
[
Redis源码
阅读]redis持久化
作为web开发的一员,相信大家的面试经历里少不了会遇到这个问题:redis是怎么做持久化的?不急着给出答案,先停下来思考一下,然后再看看下面的介绍。希望看了这边文章后,你能够回答这个问题。为什么需要持久化?由于Redis是一种内存型数据库,即服务器在运行时,系统为其分配了一部分内存存储数据,一旦服务器挂了,或者突然宕机了,那么数据库里面的数据将会丢失,为了使服务器即使突然关机也能保存数据,必须通过
hoohack
·
2018-04-04 13:00
[
Redis源码
阅读]redis持久化
作为web开发的一员,相信大家的面试经历里少不了会遇到这个问题:redis是怎么做持久化的?不急着给出答案,先停下来思考一下,然后再看看下面的介绍。希望看了这边文章后,你能够回答这个问题。为什么需要持久化?由于Redis是一种内存型数据库,即服务器在运行时,系统为其分配了一部分内存存储数据,一旦服务器挂了,或者突然宕机了,那么数据库里面的数据将会丢失,为了使服务器即使突然关机也能保存数据,必须通过
hoohack
·
2018-04-04 00:00
持久化
源码学习
redis
redis源码
阅读-adlist
adlist阅读author:PeiXingxin(
[email protected]
)background这里其实想谈谈为什么要做redis的sourcecodereading&analysing。动机有点尴尬,因为在大厂的工作中,开源的工具使用较少,时间长了竟然会成为一个被外部人员低看一眼的理由。当然,对于面试应该考察什么这个话题,我也一肚子槽想吐,找个机会会一并写出。话不多说,言归正传
装正经的正经人
·
2018-04-01 18:44
Redis源码
安装(CentOS)
1.上传安装包 redis-3.0.0.tar.gz2.解压 1)创建/redis文件夹 2)[root@hostname~]#tar-zxvfredis-3.0.0.tar.gz-C/redis/3.文件夹目录4.编译(需要有gcc编译器)安装目录下通过make命令编译:(编译完成src目录中会多出六个绿色的可执行文件)5.安装到指定路径[
[email protected]
]#
啊嘛
·
2018-03-30 20:40
CentOS 7 安装 Redis-4.0.8
1获取
Redis源码
包1.1方式一1.2方式二2编译
Redis源码
3运行Redis4客户端连接4.1本机客户端连接4.2Windows客户端连接4.2.1修改配置文件4.2.2安装客户端工具5参考文献1
hello-universe
·
2018-03-26 15:52
Redis
单机版Redis的安装、搭建
进入
redis源码
目录。make第四步:安装。makeinstallPR
qq649954944
·
2018-03-23 09:12
Redis
【
redis源码
阅读】redis对象
结构定义在redis中,对象的数据结构定义如下:typedefstructredisObject{unsignedtype:4;unsginedencoding:4;unsignedlru:LRU_BITS;intrefcount;void*ptr;}结构定义中的type:4、encoding:4这种定义方式称为位段类型。使用位段类型的好处就是避免浪费内存,如果使用unsignedi
hoohack
·
2018-03-21 19:00
【
redis源码
阅读】redis对象
结构定义在redis中,对象的数据结构定义如下:typedefstructredisObject{unsignedtype:4;unsginedencoding:4;unsignedlru:LRU_BITS;intrefcount;void*ptr;}结构定义中的type:4、encoding:4这种定义方式称为位段类型。使用位段类型的好处就是避免浪费内存,如果使用unsignedi
hoohack
·
2018-03-21 00:00
源码分析
redis
一些技术网站汇总
汇总操作文档数据库MySQL5.7ReferenceManualRedisDocumentationRedis命令参考H2DatabaseEngineRedisObjectRocketSpringData
redis
Alex
·
2018-03-16 00:00
网站
Redis源码
阅读——基于epoll的事件模型
Redis的事件模型实现基于linux的epoll,sun的export,FreeBSD和Macosx的queue,还有select;我们简单分析下Redis基于epoll实现的事件模型。main函数调用initServer实现服务初始化:voidinitServer(void){intj;//SIG_DFL:默认信号处理程序//SIG_IGN:忽略信号的处理程序signal(SIGHUP,SIG
idwtwt
·
2018-03-06 17:20
Redis源码阅读
Redis单机和集群的搭建与使用
进入
redis源码
目录。make第四步:安装。makeinstallPREFIX=/usr/local/redisPREFIX参数指定redis的安装目录。
阶前梧桐已秋声
·
2018-03-06 15:59
java
web中间件
redis
关于
redis源码
的内存分配,jemalloc,tcmalloc,libc
jemalloc是facebook推出的,https://github.com/jemalloc/jemalloctcmalloc是Google推出的,https://github.com/gperftools/gperftoolslibc是标准的内存分配库malloc和free我们知道Redis并没有自己实现内存池,没有在标准的系统内存分配器上再加上自己的东西。所以系统内存分配器的性能及碎片率会
libaineu2004
·
2018-02-28 14:00
redis
把
redis源码
的linux网络库提取出来,自己封装成通用库使用(★firecat推荐★)
如题,redis网络库是基于单进程单线程的机制实现,简单高效。可用直接将它提取出来使用。Redis网络库是一个单线程EPOLL模型的网络库,和Memcached使用的libevent相比,它没有那么庞大,代码一共2000多行,因此比较容易分析。本篇拿出了Redis网络部分的代码,添加了应用层buffer,让它现在变成了一个可以实现tcp通信的程序。Redis网络库是一个单线程EPOLL模型,也就是
libaineu2004
·
2018-02-27 17:28
IOCP/epoll
Linux
redis
Linux服务器redis单机版和集群版搭建
1.linux下下载
redis源码
Redis下载官网:https://redis.io/downloadLinux的下载命令,根据需要版本进行下载即可:[root@localhostbin]#wgethttp
SimpleSimpleSimples
·
2018-02-09 11:18
Resdis
Redis源码
分析-基础功能(内存)
Redis简介:Redis是一个高性能key-value存储系统,有以下几个优点:1.支持数据持久化,可以将内存中的数据保存到磁盘中,重启的时候重新加载使用。2.Redis支持简单的字符串的key-value,并且支持比较复杂的存储结构,例如list,set,zset,hash等。3.Redis支持master-slave模式的数据备份机制。4.Redis的性能极高,快速读写,如果把redis和客
karen_zy
·
2018-01-31 10:44
Redis源码
(十一)——Redis的主从复制
Redis中可以发送SLAVEOF命令让一个服务器A成为另一个服务器B的“slave”,从而去复制B,称A为从服务器(slave),B为主服务器(master)关于复制,2.8版本以前及以后实现有一些不同,2.8版本以前的复制在断线重连后效率较低,所以我们在这里只分析下2.8版本以后的复制。复制功能分为同步(sync)和命令传播(commandpropagate)两个步骤。一、同步的实现Redis
奥利弗的巨大泰迪
·
2018-01-23 11:35
Redis
Redis源码
(九)——Redis的持久化:RDB及AOF
我们知道Redis的数据库数据是储存在内存中的,那么如果Redis服务器进程被kill了或关闭了,那么服务器中的所有数据都会消失,所以我们需要对Redis的数据进行持久化即保存在硬盘中。Redis有两种持久化的方案——RDB和AOF(AppendOnlyFile)。一、RDB持久化RDB持久化通过将数据库中的键值对保存到rdb文件中来对Redis进行备份。src下的rdb.c和rdb.h包含了对R
奥利弗的巨大泰迪
·
2018-01-21 14:35
Redis
Centos安装单机版Redis
1、安装gcc-c++(
redis源码
编译需要):yuminstallgcc-c++2、解压缩redis目录3、进入解压缩目录,使用make命令进行编译4、进行安装:makeinstallPREFIX=
BlackManba_LGLG
·
2018-01-17 09:17
Redis
Centos安装单机版Redis
1、安装gcc-c++(
redis源码
编译需要):yuminstallgcc-c++2、解压缩redis目录3、进入解压缩目录,使用make命令进行编译4、进行安装:makeinstallPREFIX=
BlackManba_LGLG
·
2018-01-17 09:17
Redis
Redis源码
(八)——Redis的数据库
在前面的博客中,对Redis的底层数据结构和Redis中的几种对象做了相对详尽的分析,但是对于Redis——作为一种高速分布式数据库,我们并没有对Redis的一些典型功能例如存取键、设置过期时间、主从复制等作出介绍。接下来我们将对Redis的一些功能作出详细的分析。作为一种数据库,Redis的数据库功能是最基本也是最核心的功能,接下来就对此进行介绍。一、数据库的结构定义在redis.h文件中的re
奥利弗的巨大泰迪
·
2018-01-17 00:00
Redis
redis源码
剖析zslInsert函数
zskiplistNode*zslInsert(zskiplist*zsl,doublescore,robj*obj){zskiplistNode*update[ZSKIPLIST_MAXLEVEL],*x;unsignedintrank[ZSKIPLIST_MAXLEVEL];inti,level;redisAssert(!isnan(score));//在各个层查找节点的插入位置x=zsl->
clize_U
·
2018-01-11 14:06
redis
源码剖析
深入浅出 Redis client/server交互流程
综述最近笔者阅读并研究
redis源码
,在redis客户端与服务器端交互这个内容点上,需要参考网上一些文章,但是遗憾的是发现大部分文章都断断续续的非系统性的,不能给读者此交互流程的整体把握。
zbdba
·
2018-01-08 13:07
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他