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源码
解读(七)——基本类型—dict
dict设计与实现dict是Redis中使用最多的数据结构,比如:RedisDb中存储KV对,Set、Dict等类型的底层数据结构等等都是用的dict。Redis中的dict采用开链法解决hash冲突,从三个方面看dict的设计:节点、hash表、迭代器:typedefstructdictEntry{void*key;union{void*val;uint64_tu64;int64_ts64;do
fayadexinqing
·
2023-08-23 10:55
redis
redis
缓存
哈希算法
深入解读Redis之内存模型解析-zmalloc
Redis源码
之内存模型解析-zmalloc当前分析Redis版本为6.2,需要注意。由于上一次分析了SDS,发现有关内存管理都是使用的zmalloc,虽然中间取了次别名,与此区别。
岚之晴川
·
2023-08-23 09:22
Sexy-T
redis
数据结构
数据库
深入解读Redis之数据类型解析-IntSet
Redis源码
之数据类型解析-IntSet当前分析Redis版本为6.2,需要注意。
岚之晴川
·
2023-08-23 09:22
Sexy-T
redis
数据结构
数据库
Windows 下 Redis 安装与配置 教程
文章目录一、Windows下安装Redis的几种方式1.微软官方维护的Redis2.tporadowski维护的Redis3.使用WSL安装Redis4.使用gcc编译器在Windows下编译
redis
小青龍
·
2023-08-22 20:07
Redis
redis
windows
11_Redis经典五大类型源码及底层实现
经典五大类型源码及底层实现一、Redis数据类型的底层数据结构SDS动态字符串双向链表压缩列表zpilist哈希表hashtable调表skiplist整数集合intset快速列表quicklist紧凑列表listpack二、
Redis
coder_xiaoyou
·
2023-08-21 14:02
redis
redis
数据库
缓存
如何看待2022年秋招Java后端开发岗一片红海?
一面(远程视频面)1.自我介绍2.项目介绍3.Redis介绍4.了解
redis源码
吗5.了解redis集群吗6.Hashmap的原理7.hashm
我是大橙
·
2023-08-19 13:14
redis 主从 哨兵 集群 の安装
0.安装vmware15.x+centos7.x+redis相关配置哨兵日志解读0.1下载
redis源码
包https://redis.io/0.2下载对应版本redis-5.0.10.tar.gz0.3
·
2023-08-18 00:23
【
Redis源码
学习】准备工作
一、获取源码可以去redisgithub上边clone一份或redisdownload网站下载一份。这里选择版本为5.0.二、安装注1:把src/Makefile里的OPTIMIZATION?=-O2改为OPTIMIZATION?=-O0,这样可以用gdb进行调试注2:Linux平台下,确保系统安装了gcc否则make时会遇到问题,参考以下链接解决redis安装fatalerror简单来说,red
爱吃芝麻球
·
2023-08-13 13:40
redis
学习
数据库
Redis源码
阅读[1]: sdshdr
阅读
Redis源码
,从Redis的数据结构开始。
RDuwan
·
2023-08-13 13:37
Redis源码
剖析——线程模型
目录一、Redis是单线程吗?二、Redis单线程模式是怎样的?1.处理新连接请求2.处理客户连接上的可读事件3.beforesleep处理写任务队列三、Redis采用单线程为什么还这么快?四、Redis6.0之前为什么使用单线程?五、Redis6.0之后为什么引入了多线程?六、Redis6.0版本的多线程处理模型1.多线程模型2.开启多线程后,是否会存在线程并发安全问题?3.Redis多线程模型
oywLearning
·
2023-08-13 00:00
redis源码剖析
redis
c++
网络
centos7源码安装redis-5.0.0vv
centos7源码安装redis-5.0.01.下载
redis源码
包[root@localhostlocal]#wgethttp://download.redis.io/releases/redis-5.0.0
白小纯呐
·
2023-08-12 16:46
基于
Redis源码
学习基础软件开发
文章目录前情提要SDS数据结构学习hash表学习C语言的二级指针用法Rehash过程学习Zset有序set结构skiplist寻找元素的逻辑跳表节点指针层级--随机生成ziplist-->listpack结构转换前情提要deps目录(redis依赖的第三方、一些客户端的redis演进发展代码和Lua的脚本源码),src目录(功能模块源码),tests目录(功能测试代码),utils目录(Redis
稳定的穷
·
2023-08-12 06:58
Linux
redis
学习
lua
Redis源码
之SDS简单动态字符串
Redis是内存数据库,高效使用内存对Redis的实现来说非常重要。看一下,Redis中针对字符串结构针对内存使用效率做的设计优化,版本为Redis3.2。一、SDS的结构c语言没有string类型,本质是char[]数组;而且c语言数组创建时必须初始化大小,指定类型后就不能改变,并且字符数组的最后一个元素总是空字符'\0'。以下展示了一个值为"Redis"的C字符串:Redis没有直接使用C语言
2301_77342543
·
2023-08-06 00:32
redis
数据库
缓存
Redis源码
学习之基数树的实现
一.WhatRedis5带来的最大的改变应该就是引入了stream这个数据结构了。这就相当于在Redis里面内置了一个Kafka。Redis5里面的stream底层是基于基数树实现的。要想深入要就stream的实现,就必须先搞懂基数树的实现。那么什么是基数树呢?TOTO二.How因为这篇博客是单独分析Redis里面的基数树的实现,所以把基数树相关的实现单独拎出来。基数树相关的实现在rax.h、ra
Java高级架构狮
·
2023-08-05 15:24
龙芯3a5000下编译redis 7.0源码
download/2.下载最新版本的config.guess和config.subredis用到了jemalloc库,如果不更新redis7源码自带的config.guess和config.sub文件,会在编译
redis
peihexian
·
2023-08-05 02:37
IT技术相关
【redis】redis部署1主2从3哨兵demo搭建示例
我们从
redis源码
目录中,找到一个redis.conf文件,这个文件是redis作为server的配置文件模板,mkdir一个新的目录,将这个配置文件cp到新的目录中并对cv的新配置文件进行改动。
不想睡觉的橘子君
·
2023-08-03 12:55
Redis
踩坑专栏
教程
redis
bootstrap
数据库
【redis】创建集群
一,通过配置文件创建伪集群进入
redis源码
目录,进入utils目录,展示如下:[
[email protected]
]#cdutils/[root@localhostutils]#
不想睡觉的橘子君
·
2023-08-03 12:53
Redis
教程
踩坑专栏
redis
数据库
缓存
redis 高级篇 redis 源码的读取分析
一
redis源码
分析1.1源码分析1每一个kv键值对应有一个dictEntry。2.底层数据结构
健康平安的活着
·
2023-08-01 22:47
redis
redis
数据库
缓存
Redis源码
剖析 - Redis内置数据结构之字典dict
redis源码
剖析训练营主讲内容包含8个技术点:1:数据存储分析2:redis存储原理3:redis事件机制4:redis6.0-IO多线程5:redis有序集合的实现-跳表6:跳表的
linux大本营
·
2023-08-01 12:11
redis-cli的实现原理
首先从源码中找入口
redis源码
:src/redis-cli.c中找到main函数,main函数中核心的处理就是以下部分/*Startinteractivemodewhennocommandisprovided
董浩_
·
2023-08-01 08:17
Qt —— Vs2017编译hi
redis源码
并测试调用(附调用hiredis库源码)
下载hi
redis源码
编译hi
redis源码
1、解压下载的hi
redis源码
包,如图使用Vs2017打开hiredis_win.sln 2、如下两图,Vs2017打开.sln后点击升级
信必诺
·
2023-07-29 21:24
Qt
Qt
Vs2017
Redis
hiredis
Redis 源码简洁剖析 11 - 主 IO 线程及 Redis 6.0 多 IO 线程
总结参考链接
Redis源码
简洁剖析系列Redis到底是不是单线程的程序?Redis只有在处理「客户端请求」时,是单线程的;整个Redisserver不是单线程的,还有后台线程在
被称为L的男人
·
2023-07-27 15:59
Redis源码
剖析之robj(redisObject)
我们在之前的文章中已经了解过一部分Redis的数据结构了,尤其是dict中讲到,可以把redis看做一个hashtable,存储了一堆的key-value,今天就来看下key-value中value的主要存储结构redisObject(后文统称robj)。robj的详细代码见object.c字段详解相对与其他几个数据结构,robj相对简单,因为只包含了几个字段,含义都很明确。typedefstru
xindoo
·
2023-07-27 13:07
2023最新Windows安装配置Redis教程,嘎嘎详细
注意:Windows安装包是某位民间“大神”根据
Redis源码
改造的,并非Redis官方网站提供。我们下载最新版——Redis-x64-xxx.zip压缩包到F盘,解压后,将文件夹
Palp1tate
·
2023-07-27 10:09
数据库
windows
redis
数据库
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(基础功能分析)
探究Redis服务启动的过程机制的技术原理和流程分析的指南Redis基本概念Redis特点说明
Redis源码
结构Redis功能架构Redis启动流程初始化全局服务器配置源码分析分析说明initServerConfig
洛神灬殇
·
2023-07-27 06:08
#
深入浅出Redis原理及实战
redis
bootstrap
数据库
Redis(SPEC文件打包)
1.建立工作路径mkdir-p~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}2.下载
Redis源码
cd~/rpmbuild/SOURCESwgethttps://
从零到1%
·
2023-07-26 20:48
RPM打包
Linux
linux
Redis源码
在windows下的成功编译(附cmake工程配置)
为了更好的使用redis,分析
Redis源码
是很有必要。特别是对数据结构和算法的学习,这是很好的例子,比lecode刷题有趣。
特立独行的猫a
·
2023-07-26 01:23
C++
c++
redis
源码分析
Redis 源码简洁剖析 14 - Redis 持久化
Redis持久化方式RDB优势劣势AOF优势劣势Redis<7.0参考链接
Redis源码
简洁剖析系列Redis持久化方式主要参考Redis官方文档:RedisPersistence。
被称为L的男人
·
2023-07-22 20:52
Redis源码
篇 - inset数据结构
inset是Redis中set类型的一种底层存储结构(编码),它是基于整数数组来实现的,用于存储数值类型set集合数据,并具备长度可变、有序等特征。有序性为了方便查找,Redis会将intset中整数数据按照从小到大的顺序排序,存放在content中,如下图:为什么需要统一编码?content中的每个元素分配的长度都是相同的比如2字节、4字节、8字节,比如有些元素可以使用1字节存储,有些需要4字节
Survivor001
·
2023-07-21 13:55
redis
数据结构
数据库
Redis源码
篇 - QuickList数据结构
Quicklist是Redis3.2之后引入的一个双向链表结构,其本质是对ziplist弊端的一个优化数据结构,ziplist是一种连续的内存空间,用于减少碎片化,减少内存占用,但是正是因为需要连续的内存空间,当数量越来越大时,导致内存空间申请效率很低。为了缓解这种问题,就通过限制ziplist的大小以及数据分片的思想来优化,使用多个ziplist结构来存储。而quicklist就是用于管理这些分
Survivor001
·
2023-07-21 13:55
redis
数据结构
数据库
Redis源码
篇 - Ziplist数据结构
Ziplist是一种内存优化的list存储结构,通过使用连续的内存空间存储,来减少内存碎片化,同时和链表的不同还有,它不存储前后指针,而是通过变长的字节存储前节点元素长度,通过计算长度来实现节点的查找。它是一种以时间换空间的数据结构。普通的链表中节都存储着前后指针,分别指向上一个节点和下一个节点,节点在内存不是顺序存储的,所以会造成内存碎片化。ziplist就是通过申请连续的内存空间来实现链表的功
Survivor001
·
2023-07-21 13:25
redis
数据结构
Redis 6.5 RDB和AOF持久化源码
这里从源码角度解释这两个问题借鉴:
redis源码
探讨–AOF实现
Redis源码
剖析之RDBRDB和AOFAOF在每次客户端请求执行完
胖墩的IT
·
2023-07-20 07:58
#
Redis
redis
如何在 VSCode 去调试
Redis源码
学习使用Redis时,从GitHub下载
Redis源码
是个不错的选择。在下载后,通过创建task.json和launch.json两个文件,可以方便地在本地进行Redis的编译、运行和调试。
楷鹏 : )
·
2023-07-19 11:05
vscode
redis
ide
epoll源码分析以及在Redis中的实现
文末会从
redis源码
简单看看如何使用epoll做IO多路复用实现高并发。2.具体实现参考官方文档描述:Thecentralcon
Linux后台服务器开发
·
2023-07-18 23:25
Redis源码
安装
文章目录
Redis源码
安装注:下载源码包:解压:下载源码安装编译器:make:创建配置文件目录:复制配置文件:修改配置文件:指定redis-server的配置文件进入redis:
Redis源码
安装注:本实验基于
农夫山贼_Dev
·
2023-07-18 19:52
SQL
redis
数据库
Redis源码
篇- SDS
Redis对于String类型,底层使用的是SDS(简单动态字符串),而不是常规的C语言的字符数组。通常在C中,定义一个字符串,方式是通过字符数组表示,同时结尾使用/0表示结束:char[]="hello,world/0";计算字符串长度则为:遍历char[],复杂度O(n);常规的C中字符串使用带来的问题:获取长度复杂度为O(n),Redis在万+的处理时,会收到一定性能影响。常规字符串读取,遇
Survivor001
·
2023-07-16 20:19
redis
java
数据库
redis源码
阅读-发布与订阅pub/sub
redis的发布订阅(pub/sub)是一种消息通信模式,由发布者(pub)发布消息,订阅者订阅(sub)消息。redis通过publish和subscribe等命令实现了发布与订阅模式。我们先通过一张图了解下工作机制:我们看下案列#客户端1127.0.0.1:6379>subscribenoticeReadingmessages...(pressCtrl-Ctoquit)1)"subscribe
5ycode
·
2023-07-16 20:15
redis源码分析
redis
redis源码
发布订阅
pub/sub
Redis源码
分析-存储原理与数据模型
redis源码
学习redis是单线程,分治,内存wsl2安装安装WSL|MicrosoftDocsvscode开始通过WSL使用VSCode|MicrosoftDocsc/c++基本配置GetStartedwithC
Mr.简锋
·
2023-07-16 20:15
redis
数据库
nosql
redis源码
阅读-rehash详解
背景今天群里有个小伙伴问rehash的事。翻看下源码,解密下rehash。我们小了解下rehash是什么rehash有两个目的:(扩容)扩容防止hash冲突后,形成链表带来的性能下降,时间复杂度提升(5倍容量后才扩容);(缩容)大量key被回收后,大量的空闲空间,通过rehash节省空间(1/10以下使用量才缩容);redis为了防止大的dictrehash的时候影响性能,使用了渐进式rehash
5ycode
·
2023-07-16 20:45
redis源码分析
redis
linux
rehash
redis
redis源码
redis源码
阅读-持久化之RDB
持久化介绍:redis的持久化有两种方式:rdb:可以在指定的时间间隔内生成数据集的时间点快照(point-in-timesnapshot)aof:记录redis执行的所有写操作命令根据这两种方式,redis可以开启三种模式的持久化rdbaofrdb+aofrdbrdb是一个非常紧凑的文件rdb适合灾难恢复,主从复制rdb可以最大化redis的性能,rdb操作是会从主进程fork一个子进程;本章节
5ycode
·
2023-07-16 20:44
源码分析
redis源码分析
redis
rdb
持久化
redis源码
阅读-持久化之aof与aof重写详解
aof相关配置aof-rewrite-incremental-fsyncyes#aof开关,默认是关闭的,改为yes表示开启appendonlyno#aof的文件名,默认appendfilename"appendonly.aof"#aof刷数据的策略,有no/everysec/awaysappendfsynceverysecno-appendfsync-on-rewriteno#aof超出配置大小
5ycode
·
2023-07-16 20:44
redis源码分析
源码分析
redis
redis
数据库
aof
持久化
redis源码
Redis源码
篇 - Reactor设计模式 和 Redis Reactor设计模式
Reactor:反应器模式或者应答者模式,它是一种基于事件驱动的设计模式。拥有一个或者多个输入源,通过反应器分发给多个worker线程处理,实现并发场景下事件处理。此图网上找的,画的很好:
Survivor001
·
2023-07-16 20:41
redis
Redis源码
剖析之压缩列表(ziplist)
本来打算只用一篇文章来讲解Redis中的list,在实际写作过程中发现Redis中有多种list的实现,所以准备拆成多篇文章,本文主要讲ziplist,ziplist也是quicklist的基础。另外还有skiplist,skiplist虽然是list,当主要和set命令相关,所以会放到后面。本文主要涉及到的源码在ziplist.c何为ziplist?我们可以在ziplist.c源码头部找到一段R
xindoo
·
2023-07-15 04:19
「
Redis源码
解读」—事件(二)文件事件
文件事件事件类型在文件事件中分为两大类,可读事件(AE_READABLE)与可写(AE_WRITABLE)事件,可读事件由套接字写入时产生,而可写事件则由套接字读取时产生,因为linux操作系统默认所有的外部设备都为文件,所以这里的套接字写入操作是指外部设备写入到内存中的操作,读取则与之相反。而当套接字同时产生了两个事件时,redis服务器会优先处理可读事件,然后再处理可写事件文件事件结构redi
wh4763
·
2023-06-22 14:30
第二十二章_Redis经典五大类型源码及底层实现
redis源码
在哪里\redis-7.0.5\srchttps://github.com/redis/
redis源码
分析参考书(推荐)《Redis设计与实现》《Redis5设计与源码分析》Redis源代码的核心部分
烟雨忆南唐
·
2023-06-22 08:27
#
redis
redis
数据库
缓存
Redis源码
剖析--源码解读
架构:单机,主从,集群应用:1-缓存、持久化2-订阅、发布(消息队列、消息通知)3-分布式锁4-分布式Session共享Redis简介redis全称REmoteDIctionaryServer,是一个由SalvatoreSanfilippo写的高性能key-value存储系统,其完全开源免费,遵守BSD协议。Redis与其他key-value缓存产品(如memcache)有以下几个特点。Redis
贰爷
·
2023-06-20 21:13
Redis 源码简洁剖析 06 - quicklist 和 listpack
lpNewlpFirstlpNextlpPrevlpGet参考链接
Redis源码
简洁
被称为L的男人
·
2023-06-20 13:32
Redis了解
Redis源码
大概做了哪些事情?
moernagedian
·
2023-06-18 05:15
redis
服务器
java
redis集群搭建
redis-trib位于
Redis源码
的src文件夹中,它是一个Ruby程序,这个程序通过向实例发送特殊命令来完成创建新集群,检查集群,或者对集群进行重新分片(reshared)等工作。
欠缺救赎
·
2023-06-15 00:12
redis
redis
ruby
数据库
Redis源码
阅读(一)——从Redis内存耗尽问题开始
前言:相信大家都或多或少关注了一些技术公众号。这些公众号在起步阶段,肯定都是会产出一些优秀的原创技术文章,要不然我们也不会去关注。随着时间推移,某些公众号逐渐做大,粉丝越来越多,开始能接到金主的广告。当然号主“恰饭”也是无可厚非的,毕竟有收入才会有持续创作的动力。但是某些号,在接广告的同时,反而原创也越来越少了,往往就是随便找篇文章转发。转发也就算了,关键这些号主们好像商量好了一样,转发的内容也一
歪歪许
·
2023-06-12 07:47
Redis源码学习
java
redis
nosql
源码
数据库
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他