第一节.参考 先说一句,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.为什么使用redis?redis是一种典型的no-sql 即非关系数据库 像python的字典一样 存储key-value键值对 工作在memory中所以很适合用来充当整个互联网架构中各级之间的cache 比如lvs的4层转发层 nginx的7层代理层尤其是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            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-10 10:07:38
                            
                                33阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            redis源码分析——zsetzset是什么skiplist数据结构level的计算插入结点删除结点ziplist查找、插入、删除ziplist和skiplist的选择 zset是什么zset是redis中的string类型元素有序集合,每个元素都有一个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            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-20 09:05:07
                            
                                63阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Redis在Windows上的安装与使用
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年的时间实现集群之间的分片管理,主从复制,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-01 11:36:35
                            
                                44阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            win下安装和使用rediswindows上安装 1、下载redis的windows版本zip版(redis官方没有windows版,社区有) https://github.com/MicrosoftArchive/redis/releases 2.启动redis: 进入cmd,redis-server.exe redis.windows.conf 注意:该方式启动后cmd窗口不能关闭(已上传至百            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-15 18:09:57
                            
                                92阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            环境以及引用资料1.windows server 2008 r2 enterprise  (木有办法,公司的服务器全是如此,就这种环境搭建吧)2.redis官方资料下载: https://redis.io/download3.redis官方没有提供相关的程序包,但是Microsoft Open Tech group提供并维护了相关的redis安装包 https://github            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-02 17:35:45
                            
                                42阅读
                            
                                                                             
                 
                
                                
                    