数据库  应该都知道默认redis会有16个库,是根据配置文件来的,可以通过select命令来切换数据库。那原理又是如何实现的么?  redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数据中,db数组的每一项都是一个redis.h/redisDb结构,每个redisDb代表一个数据库;  结构如下,这个结构大约有500行,不能全部贴出来了!  str
Kubernetes源码行数 Kubernetes(简称K8S)是一个用于自动化应用程序部署、弹性伸缩等功能的开源容器编排工具。作为一名经验丰富的开发者,我将向刚入行的小白介绍如何获取Kubernetes源码行数。 整体流程: 1. 克隆Kubernetes源码仓库 2. 安装cloc代码统计工具 3. 运行cloc统计源码行数 下面是具体的步骤及对应的代码: 1. 克隆Kuberne
原创 2024-01-25 20:41:27
62阅读
文章目录一、前期准备工作二、安装编译所需工具2.1 安装JDK2.2 安装Maven2.3 安装Ant2.4 安装ProtoBuf2.5 安装openssl库2.6 安装ncurses-devel库三、开始编译四、常见问题 一、前期准备工作配置CentOS能连接外网,保证Linux虚拟机ping www.baidu.com是畅通的全程使用root用户编译,减少文件夹权限出现问题需要注意,读者如果操
输入:b*[^:b#/]+.*$
vs
转载 2022-06-13 18:48:37
123阅读
输入:b*[^:b#/]+.*$
原创 2022-11-08 14:10:57
138阅读
# 如何统计Python源码行数 ## 介绍 作为一名经验丰富的开发者,你经常需要统计Python源码行数。现在有一位刚入行的小白开发者不知道如何实现这个功能,你需要教会他。本文将指导你如何使用Python代码来统计Python源码行数。 ## 流程图 ```mermaid flowchart TD A[下载Python源码文件] --> B[统计行数] B --> C[输
原创 2024-03-16 06:03:21
48阅读
cloc一款高效的代码行统计工具,且跨多平台:WindowLinuxMac… …高效是其优点,且稳定性比较好。 Linux版的可以处理超大工程的文件,不会出现其它同类工具在处理超大文件时崩溃的问题。用法简单,学习成本低,尤其是看了我这篇文章之后就更低了。安装下载最新版下载地址: https://github.com/AlDanial/cloc/releases/tag/v1.96本文介绍的是Lin
作为一个数据库,对于事务的支持是一个绕不过去的话题。今天我们来看一下 redis 中的事务相关代码。multiStateredis 中使用 multiState 结构体来表示一个事务:typedef struct multiCmd { // 参数 robj **argv; // 参数数量 int argc; // 命令指针 struct redisC
Android源码下载完后的目录如下:整个代码的大小为:25.559GB。一、构建系统如下用于构建Android源码树的指令应用于所有的代码分支,包括master分支。喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGJyPgo8L3A+CjxwPjEu0aHU8bfW1qc8L3A+
[code="shell"]find /usr/local/xxx/src/ -type f -name "*.c" -print0 | xargs -0 wc -l[/code]
原创 2023-04-11 00:20:24
55阅读
获取Android的Java源代码并在Eclipse中关联查看的最新方法Android入门2011-01-29 21:07:46阅读744评论5  字号:大中小 订阅在Google搜索“Android Eclipse 源代码”得到的结果并不合适,因为Google的Eclipse Android开发插件已经更新到了ADT 8.0.1.相应的lib关联
redis源码编译安装 首先我们下载软件包到指定的目录下 tar -zxvf redis-2.8.19.tar.gz cd redis-2.8.19 make make PREFIX=/usr/local/redis install mkdir /usr/local/redis/etc/ cp redis.conf /usr/local/redis/etc/ cd /usr
转载 2023-06-29 14:57:18
96阅读
近来在研读redis3.2.9的源码,虽然网上已有许多redis源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏的《Redis设计与实现》。定义在自定义的基础数据结构的基础上,redis 通过 redisObject 封装整合成了对外暴露的5中数据结构。 首先看看 redisObject 的定义: #define LRU_BITS 24 typedef s
转载 2023-08-15 18:31:31
79阅读
上一篇解读了一下SDS,本来觉得完了,但之后想想感觉少点什么,现在我们从使用的角度去梳理一下,大家想想对于字符串, 我们经常使用的有哪几个方法呢?这些方法又是怎么实现的?在研究上面的几个方法之前我们先来了解一下redisObject对象,源码redis.h中,以下是源码:typedef struct redisObject { unsigned type:4; //对象类型,string
转载 2023-06-07 19:16:26
134阅读
三、JedisCluster模块源码解析1、JedisCluster类结构由于Jedis本身不是线程安全的,所以选择使用对象池JedisPool来保证线程安全在JedisClusterInfoCache中,保存了节点和槽位的一一对应关系,为每个节点建立一个对象JedisPool,并保存在map中。这个类主要用于保存集群的配置信息2、JedisCluster的初始化public class Jedi
当集群模式中需要扩缩容时,需要向集群中添加/删除节点,本节就来介绍下这个过程。添加节点当把节点A加入集群时,需要运维工具redis-cli向集群中任意节点发送Cluster meet < ip > < port > 命令:void clusterCommand(client *c) { ... if (!strcasecmp(c->argv[1]->ptr,
转载 2023-07-04 16:52:12
92阅读
文章目录简介结构定义和详细介绍zskiplist 结构zskiplistnode结构操作API创建随机算法插入获取节点排名释放删除 参考文章 图解比较详细: 图解redis跳跃表 简介跳跃表是Redis zset的底层实现之一,zset在member较多时会采用跳跃表作为底层实现,它在添加、删除、查找节点上都拥有与红黑树相当的性能,它其实说白了就是一种特殊的链表,链表的每个节点存了不同的“
第一节.参考 先说一句,redis源码写的很优雅,很漂亮.代码比较规范,代码量不大.整体分析完帖子里面的源码过程不到三个小时.第二节.架构 一.Reactor模式  结构如下图:  我理解,就是一个生产消费模式,只是不需要队列,直接函数分发,叫分发模式更容易理解。或者类似观察者,每个观 察者关注的事件不一样。NIO或者Netty的网络编程中经常使用这种模式
转载 2023-07-09 21:52:04
107阅读
文章目录简介内部实现压缩链表跳表跳表节点查询过程跳表节点层数设置为什么用跳表而不用平衡树? 简介Zset 类型(有序集合类型)相比于 Set 类型多了一个排序属性 score(分值),对于有序集合 ZSet 来说,每个存储元素相当于有两个值组成的,一个是有序结合的元素值,一个是排序值。有序集合保留了集合不能有重复成员的特性(分值可以重复),但不同的是,有序集合中的元素可以排序。内部实现Hash
转载 2023-05-25 13:02:00
185阅读
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阅读
  • 1
  • 2
  • 3
  • 4
  • 5