第一节.参考 先说一句,redis源码很优雅,很漂亮.代码比较规范,代码量不大.整体分析完帖子里面的源码过程不到三个小时.第二节.架构 一.Reactor模式  结构如下图:  我理解,就是一个生产消费模式,只是不需要队列,直接函数分发,叫分发模式更容易理解。或者类似观察者,每个观 察者关注事件不一样。NIO或者Netty网络编程中经常使用这种模式
转载 2023-07-09 21:52:04
107阅读
近来在研读redis3.2.9源码,虽然网上已有许多redis源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏Redis设计与实现》。定义在自定义基础数据结构基础上,redis 通过 redisObject 封装整合成了对外暴露5中数据结构。 首先看看 redisObject 定义: #define LRU_BITS 24 typedef s
转载 2023-08-15 18:31:31
79阅读
1.为什么使用redisredis是一种典型no-sql 即非关系数据库 像python字典一样 存储key-value键值对 工作在memory中所以很适合用来充当整个互联网架构中各级之间cache 比如lvs4层转发层 nginx7层代理层尤其是lnmp架构应用层如php-fpm或者是Tomcat到mysql之间 做一个cache 以减轻db压力因为有相当一部分数据 只是简单
项目地址:https://github.com/doocs/source-code-hunterSDS(Simple Dynamic Strings, 简单动态字符串)是 Redis 一种基本数据结构,主要是用于存储字符串和整数。 这篇文章里,我们就来探讨一下 Redis SDS 这种数据结构底层实现原理。学习之前,首先我们要明确,Redis 是一个使用 C 语言编写键值对存储系统
转载 2024-02-04 22:41:12
42阅读
# Windows下阅读Redis源码指南 ## 引言 Redis作为一个高性能开源内存数据库,因其简单易用而受到广泛欢迎。然而,很多开发者在使用Redis过程中,对其内部实现并不十分了解。本文将带领大家在Windows环境下阅读Redis源码,通过示例代码加深理解。 ## 环境配置 首先,我们需要在Windows上配置Redis开发环境。虽然Redis主要在Linux上运行,但我们
原创 2024-09-20 15:22:43
44阅读
# Redis Windows源码编译指南 ## 1. 引言 在本篇文章中,我将向你介绍如何在Windows操作系统上编译Redis源代码。作为一名经验丰富开发者,我将帮助你了解整个编译过程,并提供每个步骤所需代码和解释。本文旨在帮助你快速入门Redis源码编译。 ## 2. 编译流程概述 在开始之前,让我们先来了解整个编译流程步骤。下表展示了Redis Windows源码编译流程
原创 2024-02-10 04:37:36
182阅读
简单动态字符串Redis是用C语言写,但是Redis并没有使用C字符串表示(C是字符串是以\0空字符结尾字符数组),而是自己构建了一种简单动态字符串(simple dynamic string,SDS)抽象类型,并作为Redis默认字符串表示 在Redis中,包含字符串值键值对底层都是用SDS实现。代码实现struct sdshdr { // 记录buf数组中已使用字节数量,
# 如何在Windows环境下编译Redis源码 ## 引言 作为一名经验丰富开发者,掌握如何编译Redis源码是非常重要。在Windows环境下编译Redis源码可以帮助我们更好地理解Redis运行机制,并且能够进行自定义修改和扩展。 ## 流程图 ```mermaid flowchart TD A[下载Redis源码] --> B[安装Visual Studio]
原创 2024-07-14 04:40:50
262阅读
网站文章通常都会有个阅读数,最简单方法就是每访问一次就加一,这看起来很简单,update一下就可以了。如果网站访问量很大呢,每天有几十万次访问呢,一秒钟就要update几次服务器,效率就很低了。而且,数据库update时候会锁表,还会影响到读操作,看来只能用缓存了。Memcached是会丢失数据,不合适;Redis是内存型数据库,可以持久化,就用它了。Redis运行时候,是把数据都保存
转载 2023-09-23 10:18:24
71阅读
背景clion使用cmake来管理编译redis源码,而redis源码本身使用原生make,因此直接将redis源码导入clion无法直接运行,需要配置cmake。写c程序大体步骤为:1).用编辑器编写源代码,如.c文件。2).用编译器编译代码生成目标文件,如.o。3).用链接器连接目标代码生成可执行文件,如.exe。但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类
转载 2024-10-22 22:45:45
106阅读
一直有打算写篇关于redis源代码分析文章,一直很忙,还好最近公司终于闲了一点,总算有点时间学习了,于是终于可以兑现承诺了,废话就到此吧,开始我们源代码分析,在文章开头我们把所有服务端文件列出来,并且标示出其作用:adlist.c //双向链表ae.c //事件驱动ae_epoll.c //epoll模型ae_kqueue.c //kqueue模型( freebsd)ae_select.c
redis源码分析——zsetzset是什么skiplist数据结构level计算插入结点删除结点ziplist查找、插入、删除ziplist和skiplist选择 zset是什么zset是redisstring类型元素有序集合,每个元素都有一个double型score,集合通过这个score将元素从小到大排列。zset中可以有多个相同score。zset有两种实现方式,分别是ski
转载 2023-08-30 09:28:51
44阅读
一:Linux上安装Redis第一步:下载redis第二步:使用Xftp工具上传redis-5.0.2.tar.gz到linux 系统。 第三步:解压redis-5.0.2.tar.gz到/opt目录第四步:编译redis,进入解压目录,并且执行make命令:  有的可能直接安装完成:就不用执行下面的步骤了报错:gcc命令未找到第五步:安装gcc。什么是 gcc ?g
转载 2023-12-02 22:31:06
125阅读
redis现在在分布式上应用十分普遍,作为一个高效DB,其并发吞吐数据能力十分优秀,所以通过源码,可以让我们详细了解相关知识和实现细节,我希望能坚持下去。在六月份之前弄清楚redis相关框架知识,能够提升自己代码能力。首先redis list声明了list相关结构,代码如下:typedef struct listNode { // 前驱节点 struct l
转载 2024-02-13 14:58:19
20阅读
 由于项目中使用Redis,所以使用它Java客户端Jedis也有大半年时间(后续会分享经验)。 最近看了一下源码源码清晰、流畅、简洁,学到了不少东西,在此分享一下。(源码地址:https://github.com/xetorthio/jedis)  协议  和Redis Server通信协议规则都在redis.clients.jedi
转载 2024-06-28 13:28:24
51阅读
#安装目录 mkdir -p /data/apps/redis cd /data/tgz wget http://download.redis.io/releases/redis-3.2.1.tar.gz cd redis-3.2.1 make PREFIX=/data/apps/redis install #安装到指定目录中  #在安装redis成功后,你将可以在/data/app
# RedisWindows安装与使用 Redis是一个高性能键值存储系统,广泛应用于缓存、队列等场景。在Windows操作系统上安装Redis相对于在Linux系统上要更加复杂,但是随着Redis官方对Windows支持越来越好,我们可以通过一些简单步骤来在Windows上安装和使用Redis。 ## 1. 下载Redis 首先,我们需要从Redis官方网站下载Windows
原创 2024-03-11 04:24:10
32阅读
目录1.Redis集群信息描述2.redis-trib.rb支持操作3.Redis(主/从)节点新增4.Redis宕机程度对数据存储影响5.Redis Cluster集群分片模式6.Redis故障迁移7.Redis主从复制我这里用Redis版本:Redis X64 3.2在Redis3.0以后,Redis集群模式是一种分布式架构,作者在这上面用了4年时间实现集群之间分片管理,主从复制,
win下安装和使用rediswindows上安装 1、下载rediswindows版本zip版(redis官方没有windows版,社区有) https://github.com/MicrosoftArchive/redis/releases 2.启动redis: 进入cmd,redis-server.exe redis.windows.conf 注意:该方式启动后cmd窗口不能关闭(已上传至百
环境以及引用资料1.windows server 2008 r2 enterprise  (木有办法,公司服务器全是如此,就这种环境搭建吧)2.redis官方资料下载: https://redis.io/download3.redis官方没有提供相关程序包,但是Microsoft Open Tech group提供并维护了相关redis安装包 https://github
  • 1
  • 2
  • 3
  • 4
  • 5