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源码
包安装
文章目录官网下载压缩包自行上传服务器解压准备gcc`yum`安装检查`gcc`版本切换到安装目录执行编译`redis`默认安装目录准备配置文件(非必须)修改配置文件为后台启动`bind`配置(此服务可以接受方访问的`ip`)关闭保护模式开启数据持久化已修改的配置文件启动测试检查`redis`进程`redis-benchmark`性能测试参数案例退出客户端关闭服务官网下载压缩包https://red
dingwen_blog
·
2021-06-06 14:59
common
soft
environment
Redis
redis
PHP编译安装redis扩展
只是说有的扩展是源码包中自带,所以直接进入源码包就可以安装,如下图这些(在下载解压的源码ext目录下),进入对应目录就可以安装而有的扩展则需要单独下载安装,比如Redis,swoole这些,下面就说说
Redis
彭槐
·
2021-06-06 13:23
redis请求处理流程
1,编译:
redis源码
是基于makefile构建的,在ide里调试很麻烦,不能符号跳转,所以就根据makefile里描述的编译过程,用cmake重新写一遍,导入到clion里调试分析。
码农崛起
·
2021-06-06 07:37
「Redis开发与运维」读书笔记
第一章初识RedisRedis的8个重要特性速度快内存存储数据C语言实现单线程架构,避免多线程竞争问题
Redis源码
优化好基于键值对的数据结构服务器Redis值可支持多种数据结构,如字符串、哈希、列表、
pdfcxc
·
2021-05-29 15:03
Redis
2018-04-21 Linux redis安装
安装readis安装readis之前需要安装gcc-c++yuminstall-ygcc-c++1.下载redis的源码包使用readis3.0.0解压缩
redis源码
包tar-zxvfreadis-3.0.0
qzuser_4394
·
2021-05-12 07:06
走进Redis:Redis的安装、使用以及集群的搭建
进入
redis源码
目录。
CatalinaX
·
2021-05-10 19:02
redis源码
结构说明
redis文件及相关功能文件名作用syncio.c封装同步读写函数bio.c后台线程,用于关闭文件,或者将内容同步到磁盘上zmalloc.h,zmalloc.c内存分配,主要封装不同平台上的内存待续
剑雪封侯之
·
2021-05-10 02:09
Redis源码
研究之哨兵Sentinel
本文主要说明Redis中哨兵Sentinel的设计与实现。建议阅读:1、Sentinel的理论部分见:Redis之SentinelI、上帝视角1、Sentinel也是Redis服务器,只是与普通服务器职责不同,其负责监视Redis服务器,以提高服务器集群的可靠性。Sentinel与普通服务器共用一套框架(网络框架,底层数据结构,订阅与发布机制),但又有其独立的运行代码。为维护Sentinel系统的
wenmingxing
·
2021-04-28 09:41
Redis源码
研究之redisObject
本文主要说明Rediskey-value结构中封装五种value的redisObject结构。I、上帝视角redisObject结构主要说明value对象的底层编码方式,以及实际指向等内容:/*src/redis.h/redisObject*/typedefstructredisObject{//刚刚好32bits//对象的类型,字符串/列表/集合/哈希表unsignedtype:4;//未使用的
wenmingxing
·
2021-04-21 09:10
Redis源码
剖析之AOF
书接上回,上回我们详细讲解了Redis的RDB机制,RDB解决了redis数据持久化一部分的问题,为什么说一部分?因为rdb是redis中某一时刻的快照,那么在这次快照后如果数据有新的变更,它是不会被持久化下来的,必须得等到下次rdb备份。然而,生成rdb是和消耗性能的,所以它就不适合很频繁生成。Redis为了弥补这一不足提供了AOF。AOF的全称是AppendOnlyFile,源码在aof.c。
·
2021-04-06 03:21
java
Redis源码
剖析之AOF
书接上回,上回我们详细讲解了Redis的RDB机制,RDB解决了redis数据持久化一部分的问题,为什么说一部分?因为rdb是redis中某一时刻的快照,那么在这次快照后如果数据有新的变更,它是不会被持久化下来的,必须得等到下次rdb备份。然而,生成rdb是和消耗性能的,所以它就不适合很频繁生成。Redis为了弥补这一不足提供了AOF。AOF的全称是AppendOnlyFile,源码在aof.c。
·
2021-04-06 02:16
java
Redis源码
剖析之RDB
我们小学三年级的时候就知道,redis是一个纯内存存储的中间件,那它宕机会怎么样?数据会丢失吗?答案是可以不丢。事实上redis为了保证宕机时数据不丢失,提供了两种数据持久化的机制——rdb和aof。rdb就定期将内存里的数据全量dump到磁盘里,下次启动时就可以直接加载之前的数据了,rdb的问题是它只能提供某个时刻的数据快照,无法保证建立快照后的数据不丢,所以redis还提供了aof。aof全程
·
2021-03-29 01:38
java
Redis源码
剖析之RDB
我们小学三年级的时候就知道,redis是一个纯内存存储的中间件,那它宕机会怎么样?数据会丢失吗?答案是可以不丢。事实上redis为了保证宕机时数据不丢失,提供了两种数据持久化的机制——rdb和aof。rdb就定期将内存里的数据全量dump到磁盘里,下次启动时就可以直接加载之前的数据了,rdb的问题是它只能提供某个时刻的数据快照,无法保证建立快照后的数据不丢,所以redis还提供了aof。aof全程
·
2021-03-29 01:24
java
Redis源码
剖析之内存淘汰策略(Evict)
Redis作为一个成熟的数据存储中间件,它提供了完善的数据管理功能,比如之前我们提到过的数据过期和今天我们要讲的数据淘汰(evict)策略。在开始介绍Redis数据淘汰策略前,我先抛出几个问题,帮助大家更深刻理解Redis的数据淘汰策略。何为数据淘汰,Redis有了数据过期策略为什么还要有数据淘汰策略?淘汰哪些数据,有什么样的数据选取标准?Redis的数据淘汰策略是如何实现的?何为Evict我先来
·
2021-03-14 21:49
java
centos7编译安装redis
一、下载、安装
redis源码
包放在/usr/local/src目录。
简言简语_wade
·
2021-03-11 12:21
Redis 简单动态字符(SDS)
后续所有未标注版本的
Redis源码
都源于5.0简单动态字符串SDSRedis里的字符串默认为sds类型,例如所有的key就都是sds。
Oliver_Li
·
2021-02-25 23:36
Redis源码
入门-字符串sds,sdshdr
sds,全称SimpleDynamicStrings,是Redis自定义的一个字符串类型。typedefchar*sds;看到这你肯定内心觉得Redis在逗你,这不就是一个字符数组么,怎么就SimpleDynamicStrings了呢!没错,我当时也是这么觉得的,但是仔细阅读源码后发现sds并不是一个人在战斗,它还有战友sdshdr,sdshdr是个五胞胎,分别是sdshdr5,sdshdr8,s
·
2021-02-24 10:24
java
Redis源码
入门-字符串sds,sdshdr
sds,全称SimpleDynamicStrings,是Redis自定义的一个字符串类型。typedefchar*sds;看到这你肯定内心觉得Redis在逗你,这不就是一个字符数组么,怎么就SimpleDynamicStrings了呢!没错,我当时也是这么觉得的,但是仔细阅读源码后发现sds并不是一个人在战斗,它还有战友sdshdr,sdshdr是个五胞胎,分别是sdshdr5,sdshdr8,s
·
2021-02-24 10:24
java
redis源码
编译安装以及部署
Redis安装部署Redis安装部署修改配置文件Redis服务控制修改参数Redis安装部署首先关闭防火墙systemctlstopfirewalldsetenforce0安装必备软件yuminstall-ygccgcc-c++maketarzxvfredis-5.0.7.tar.gz-C/opt/源码编译安装cd/opt/redis-5.0.7/makemakePREFIX=/usr/local
朝花夕誓丶
·
2021-02-23 20:59
【Java书笔记】:《Redis 深度历险:核心原理和应用实践》分布式锁,延时队列,位图,HyperLogLog,布隆过滤器,漏斗限流,GeoHash,Scan,管道,事务,主从,
Redis源码
Redis深度历险:核心原理和应用实践目录开篇:授人以鱼不若授人以渔——Redis可以用来做什么?7由Redis面试想到的7小册的内容范围8Redis可以做什么?8基础:万丈高楼平地起——Redis基础数据结构11Redis安装11Redis基础数据结构12string(字符串)12list(列表)15hash(字典)17set(集合)19容器型数据结构的通用规则22应用1:千帆竞发——分布式锁2
DougLeaMrConcurrency
·
2021-02-17 17:46
读书笔记
Java
数据库及数据仓库
redis
Redis源码
分布式锁
nosql
Redis源码
剖析之数据过期(expire)
我之前统计过我们线上某redis数据被访问的时间分布,大概90%的请求只会访问最新15分钟的数据,99%的请求访问最新1小时的数据,只有不到千分之一的请求会访问超过1天的数据。我们之前这份数据存了两天(近500g内存数据),如果算上主备的话用掉了120多个Redis实例(一个实例8g内存),光把过期时间从2天改成1天就能省下60多个redis实例,而且对原业务也没有啥太大影响。当然Redis已经实
·
2021-02-07 14:11
java
redis之sentinel集群部署
1:192.168.125.148主节点2:192.168.125.149从节点1:192.168.125.150安装必要的软件包yum-yinstallgccwgetlrzsznet-tools下载
redis
张伟科
·
2021-02-04 15:02
Redis源码
剖析之数据过期(expire)
我之前统计过我们线上某redis数据被访问的时间分布,大概90%的请求只会访问最新15分钟的数据,99%的请求访问最新1小时的数据,只有不到千分之一的请求会访问超过1天的数据。我们之前这份数据存了两天(近500g内存数据),如果算上主备的话用掉了120多个Redis实例(一个实例8g内存),光把过期时间从2天改成1天就能省下60多个redis实例,而且对原业务也没有啥太大影响。当然Redis已经实
·
2021-01-24 16:12
java
redis源码
-SDS
SDS概念:简单动态字符串(simpledynamicstring,SDS)结构图/**保存字符串对象的结构*/structsdshdr{//buf中已占用空间的长度intlen;//buf中剩余可用空间的长度intfree;//数据空间charbuf[];};3.疑难代码解析/**返回sds实际保存的字符串的长度**T=O(1)*/staticinlinesize_tsdslen(constsd
bugDesigner
·
2021-01-11 23:52
redis
Redis源码
剖析之robj(redisObject)
我们在之前的文章中已经了解过一部分Redis的数据结构了,尤其是dict中讲到,可以把redis看做一个hashtable,存储了一堆的key-value,今天就来看下key-value中value的主要存储结构redisObject(后文统称robj)。robj的详细代码见object.c字段详解相对与其他几个数据结构,robj相对简单,因为只包含了几个字段,含义都很明确。typedefstru
xindoo
·
2021-01-11 00:28
java
Redis源码
剖析之robj(redisObject)
我们在之前的文章中已经了解过一部分Redis的数据结构了,尤其是dict中讲到,可以把redis看做一个hashtable,存储了一堆的key-value,今天就来看下key-value中value的主要存储结构redisObject(后文统称robj)。robj的详细代码见object.c字段详解相对与其他几个数据结构,robj相对简单,因为只包含了几个字段,含义都很明确。typedefstru
xindoo
·
2021-01-11 00:04
java
【Linux】CentOS 7 安装 redis 6.x
x1.事前准备2.开始安装3.启动测试4.参考博客1.事前准备关于虚拟机的下载和安装,可以参考我之前的博客↓VMware下载,安装及创建虚拟机VMware安装Centos7究极逐步详细图文流程还有就是
redis
菲林都已拆走
·
2021-01-02 17:45
Linux
linux
centos
redis
redis源码
分析之十二数据持久化存储
一、数据持久化redis做为一种内存型数据库,做持久化,个人感觉略有鸡肋的意思。似乎有一种,别人有,自己不有也不行的感觉。以目前Redis主流的应用方式,如果仔细分析,基本上都是在内存中即可完成,对持久化没要求或者说不大。再举一个反例,如果内存中有几百G甚至更多的数据,真要是整体当机,恢复的时间基本就是灾难。目前基本应用仍然是以关系型数据库或者其它数据库(如Hadoop,Mysql等)为持久化的方
fpcc
·
2021-01-02 15:29
数据库开发
redis
redis安装,主从复制,哨兵机制,集群
redis安装,主从复制,哨兵机制,集群redis安装下载安装主从复制哨兵机制集群redis安装下载下载地址:http://redis.io/download(这里下载的是Linux版的
Redis源码
包
白雪茫茫
·
2020-12-31 20:06
Linux
redis源码
之dict
大家都知道redis默认是16个db,但是这些db底层的设计结构是什么样的呢?我们来简单的看一下源码,重要的字段都有所注释typedefstructredisDb{dict*dict;/*ThekeyspaceforthisDB字典数据结构,非常重要*/dict*expires;/*Timeoutofkeyswithatimeoutset过期时间*/dict*blocking_keys;/*Key
程序员养成日记
·
2020-12-31 15:34
redis
redis源码
之SDS
1:SDS介绍我们在redis中执行命令setkeyname的时候,key和name都是字符串类型,而且字符串(string)在redis中是会经常用到的类型,那redis是如何保存字符串的呢?我们接下来往下看众所周知,redis是c写的,在c中使用char来保存字符串,并且用0作为字符串的结尾,但是redis不是这样保存的,redis是使用一种叫SDS的结构来保存字符串的。结构如下(redis3
程序员养成日记
·
2020-12-31 15:33
redis
Redis存取序列化与反序列化性能问题详解
今天查看了CS
Redis源码
发现在Set和Get的时候是支持Byte[]类型,那么问题来了如果我们将对象转换成Byte[]类型进行存储是否会比序列化和反序列化操作快了?
·
2020-12-31 09:47
Redis学习---Centos7.0安装Redis
Centos7.0安装Redis1.准备环境2.下载
redis源码
包3.将下载redis资料包上传到Linux中4.解压缩文件5.安装gcc6.进入解压缩目录执行如下命令7.编译完成后执行如下命令8.进入
戏子zzzz
·
2020-12-27 12:58
Linux学习
NoSql
Redis
linux
redis
数据库
java
centos
redis-cli -p 6379 info命令详解
Server服务器基本信息#redis版本号redis_version:5.0.3#
redis源码
包git信息redis_git_sha1:00000000redis_git_dirty:0redis_build_id
·
2020-12-17 11:15
io
redis源码
阅读[0]
最近因为工作需要,要去搞一个Node.js端的RedisClient组件出来,暂时选择通过ioredis来作为fork对象。因为之前有遇到过Redis在使用twemproxy时会一直出现无法连接服务器的问题,详情见issues:https://github.com/luin/ioredis/issues/573所以会修改源码修改这一问题,不过在修改完成之后跑单元测试发现,事情没有那么简单,并不只是
贾顺名
·
2020-12-16 01:25
源码学习
node.js
ioredis
redis
io
redis源码
阅读[0]
最近因为工作需要,要去搞一个Node.js端的RedisClient组件出来,暂时选择通过ioredis来作为fork对象。因为之前有遇到过Redis在使用twemproxy时会一直出现无法连接服务器的问题,详情见issues:https://github.com/luin/ioredis/issues/573所以会修改源码修改这一问题,不过在修改完成之后跑单元测试发现,事情没有那么简单,并不只是
贾顺名
·
2020-12-16 00:09
源码学习
node.js
ioredis
redis
Redis源码
剖析之字典(dict)
Dict在redis中是最为核心的一个数据结构,因为它承载了redis里的所有数据,你可以简单粗暴的认为redis就是一个大的dict,里面存储的所有的key-value。redis中dict的本质其实就是一个hashtable,所以它也需要考虑所有hashtable所有的问题,如何组织K-V、如何处理hash冲突、扩容策略及扩容方式……。实际上Redis中hashtable的实现方式就是普通的h
xindoo
·
2020-12-06 18:27
java
Redis源码
剖析之字典(dict)
Dict在redis中是最为核心的一个数据结构,因为它承载了redis里的所有数据,你可以简单粗暴的认为redis就是一个大的dict,里面存储的所有的key-value。redis中dict的本质其实就是一个hashtable,所以它也需要考虑所有hashtable所有的问题,如何组织K-V、如何处理hash冲突、扩容策略及扩容方式……。实际上Redis中hashtable的实现方式就是普通的h
xindoo
·
2020-12-06 18:42
java
redis源码
分析 ppt_阿里资深专家整理的Redis5设计与源码分析宝典终于横空出世
前言学习本文之前先问大家一个问题,为什么要学习redis?不知道如何回答的朋友,请继续往下看!总共总结为三点的内容,大家仔细斟酌一下:1.Redis应用广泛,它有卓越的性能、丰富的数据类型,简洁高效的设计理念。2.Redis5带来了很多不错的新特性:增加了新的流数据类型更新了定时器、集群和字典相关的API增加了新的有序集合命令3.要想做好日常开发和运维工作,需要对Redis的底层原理和实现,尤其是
weixin_39849930
·
2020-11-26 16:28
redis源码分析
ppt
Redis源码
剖析之跳表(skiplist)
最近要换新工作了,借着新老工作交替的这段窗口放松了下,所以专栏拖更了,不过我心里毫无愧疚,毕竟没人催更。不过话说回来天天追剧刷综艺的日子也很是枯燥,羡慕你们这些正常上班的人,每天都有正经工作内容,感觉你们过的很充实。[狗头]计算机领域有很多种数据结构,数据结构的存在要么是为了节省时间、要么是为了节省空间,或者二者兼具,所以就有部分数据结构有时间换空间,空间换时间之说。其实还有某些以牺牲准确性来达到
xindoo
·
2020-11-22 18:56
java
Redis源码
剖析之快速列表(quicklist)
何为quicklist,上次说到ziplist每次变更的时间复杂度都非常高,因为必须要重新生成一个新的ziplist来作为更新后的list,如果一个list非常大且更新频繁,那就会给redis带来非常大的负担。如何既保留ziplist的空间高效性,又能不让其更新复杂度过高?redis的作者给出的答案就是quicklist。其实说白了就是把ziplist和普通的双向链表结合起来。每个双链表节点中保存
xindoo
·
2020-11-22 18:36
java
Redis源码
剖析之压缩列表(ziplist)
本来打算只用一篇文章来讲解Redis中的list,在实际写作过程中发现Redis中有多种list的实现,所以准备拆成多篇文章,本文主要讲ziplist,ziplist也是quicklist的基础。另外还有skiplist,skiplist虽然是list,当主要和set命令相关,所以会放到后面。本文主要涉及到的源码在ziplist.c何为ziplist?我们可以在ziplist.c源码头部找到一段R
xindoo
·
2020-11-22 18:04
java
Redis源码
剖析之SDS(Simple Dynamic String)
SDS(simpledynamicstring)是Redis提供的字符串的封装,在redis中也是存在最广泛的数据结构,它也是很多其他数据结构的基础,所以才选择先介绍SDS。SDS也兼容部分C字符串API(strcmp,strlen),它如何兼容C字符串我觉得也是有个很sao的操作,等看完我这篇博客你就明白了。在开始正式内容前,我先抛几个问题(有些也是面试高频题),带着问题去学习也是一种非常好的学
xindoo
·
2020-11-22 18:03
java
Redis源码
剖析之跳表(skiplist)
最近要换新工作了,借着新老工作交替的这段窗口放松了下,所以专栏拖更了,不过我心里毫无愧疚,毕竟没人催更。不过话说回来天天追剧刷综艺的日子也很是枯燥,羡慕你们这些正常上班的人,每天都有正经工作内容,感觉你们过的很充实。[狗头]计算机领域有很多种数据结构,数据结构的存在要么是为了节省时间、要么是为了节省空间,或者二者兼具,所以就有部分数据结构有时间换空间,空间换时间之说。其实还有某些以牺牲准确性来达到
xindoo
·
2020-11-22 18:24
java
vscode 查看
Redis源码
简介最近在学习
Redis源码
,主要是目前负责华为产品FusionInsightHD中Redis组件的相关事务,不得不学习
Redis源码
。
zeekling
·
2020-11-22 02:48
redis
源码分析
vscode 查看
Redis源码
简介最近在学习
Redis源码
,主要是目前负责华为产品FusionInsightHD中Redis组件的相关事务,不得不学习
Redis源码
。
zeekling
·
2020-11-22 02:25
redis
源码分析
【
Redis源码
】Redis Set命令详解
简介set命令用于将key-value设置到数据库。如果key已经设置,则set会用新值覆盖旧值,不管原value是何种类型,如果在设置时不指定EX或PX参数,set命令会清除原有超时时间。格式:SETkeyvalue[NX][XX][EX][PX]参数:NX:当数据库中key不存在时,可以将key-value添加到数据库。XX:当数据库中key存在时,可以将key-value设置到数据库,与NX
zeekling
·
2020-11-10 23:27
redis源码
之SDS
1:SDS介绍我们在redis中执行命令setkeyname的时候,key和name都是字符串类型,而且字符串(string)在redis中是会经常用到的类型,那redis是如何保存字符串的呢?我们接下来往下看众所周知,redis是c写的,在c中使用char来保存字符串,并且用0作为字符串的结尾,但是redis不是这样保存的,redis是使用一种叫SDS的结构来保存字符串的。结构如下(redis3
饭米粒
·
2020-10-09 19:44
redis
Redis源码
学习(2)-Redis中的动态字符串实现(上)
在src/sds.h中定义了Redis中的动态String类型,这意味着,使用者仅仅需要调用接口API就可以向String加入数据,而不需要关心扩容的问题。Redis使用typedefchar*sds;来描述这个动态String,其在内存中的分布格式为一个StringHeader以及在StringHeader后面一段连续的动态内存,而sds则是指向StringHeader后面的连续内存的第一个字节
马基雅维利
·
2020-10-09 13:12
redis
linux
c
Redis源码
学习(1)-Redis中的双端链表实现
Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis的源代码比较小巧精干,早期版本只有两万多行代码,即使是本系列所用的5.0.8版本的源代码,其代码量也不超过十万行,非常适合于学习。本系列将从基础的与其他部分关联度不大的基础数据结构开始,逐步探寻Redis系统设计的精妙之处,而笔者作为初学者,亦将此作为自
马基雅维利
·
2020-10-09 13:40
redis
linux
c
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他