Redis 命令参考1. 数据结构【大课堂】Redis 简介——为什么选择Redismemcached和redis性能差不多(10-30w qps)Memcached 是多线程,非阻塞 IO 复用的网络模型;Redis 使用单线程的多路 IO 复用模型(Redis 6.0 引入了多线程 IO )redis
原创 2021-10-11 14:19:51
412阅读
1、Redis内置数据结构之双向链表listhttp://blog.csdn.net/xiejingfa/article/details/509380282、Redis内置数据结构之字符串sdshttp://blog.csdn.net/xiejingfa/article/details/50972592 3、Redis内置数据结构之字典dicthttp://blog.csdn.net/xiejin
原创 2016-05-20 17:10:39
4184阅读
2点赞
Redis命令redis.h中定了命令的数据结构,并且在redis.c中定义了命令表。Redis命令数据结构struct redisCommand { char *name; redisCommandProc *proc; int arity; char *sflags; /* Flags as string representatio...
使用的是redis6.0.6版本,因为我第一次接触 redis 时它就是这个最新稳定版。文章目录robj数据类型编码类型随机应变的对象编码回到robjrobjredis中的数据对象 server.h/redisObject 是redis内部存储的数据定
原创 2022-01-15 17:01:45
186阅读
使用的是redis6.0.6版本,因为我第一次接触 redis 时它就是这个最新稳定版。
原创 2021-12-29 18:27:44
91阅读
前言优质的菜品需要有技艺精湛的厨师来烹饪,本书就像以优质菜品做成的“大菜”。整本书没有太多啰唆的语言,直接抽丝剥茧:从基本的数据结构类型,Redis内部每个操作命令的底层代码运行逻辑和结构,一直到整个Redis持久化技术、主从技术、分布式集群技术等,都有深入源码级别的讲解,让你领略从数据结构到整个高性能服务的全部设计之美。学以致用,读者朋友通过领会与实践来提升技术,成为一个高性能网络服务开发高手,
Redis作为一个内存型数据库,同样支持传统数据库的事务特性。这篇文章会从源代码角度来分析Redis中事务的实现原理。
转载 2021-08-11 13:24:00
197阅读
get命令的实现是t_string.c中的getCommand函数。void getCommand(redisClient *c) { getGenericCommand(c);}int getGenericCommand(redisClient *c) { robj *o; // 尝试从数据库中取出键 c->argv[1] 对应的值对象 // 如果...
安装 1.准备工作 安装gcc编译器 yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker yum -y install gcc aut
原创 2021-07-15 16:28:06
189阅读
在这篇文章中, 我将向大家介绍一种我认为比较合理的 Redis 源码阅读顺序, 希望可以给对 Redis 有兴趣并打算阅读 Redis 源码的朋友带来一点帮助。 第 1 步:阅读数据结构实现刚开始阅读 Redis 源码的时候, 最好从数据结构的相关文件开始读起, 因为这些文件和 Redis 中的其他部分耦合最少, 并且这些文件所实现的数据结构在大部分算法书上都可以了解到, 所以从这些文件开始读是
Redis源码学习:Lua脚本1.Sublime Text配置我是在Win7下,用Sublime Text + Cygwin开发的,配置方法请参考《Sublime Text 3下C/C++开发环境搭建》。要注意的是:在Cygwin中安装Lua解析器后,SublimeClang插件就...
转载 2015-05-22 22:04:00
140阅读
2评论
之前手写过跳表,所以概念性的东西就不多提,直接上链接:数据结构(9)-- 跳表在redis中跳
原创 2021-12-31 15:12:16
259阅读
文章目录redis事件机制概述redis的事件循环器:aeEventLoopredis启动事件循环redis事件机制概述1、redis使用 IO 复用 实现网络通信。2、在Linux环境下选用epoll模式。redis的事件循环器:aeEventLoopacEventLoop 是 redis 的事件循环器,负责管理事件。/* State of an event based program */typedef struct aeEventLoop { int maxfd; //当前已注.
原创 2022-01-07 13:43:09
73阅读
柔性数组(Redis源码学习) 1. 问题背景 在阅读Redis源码中的字符串有如下结构,在sizeof(struct sdshdr)得到结果为8,在后续内存申请和计算中也用到。其实在工作中有遇到过这种 struct结构 + 应用数据的情况,但没有意识到自己使用的是柔性数组,在学习阅读Redis代码 ...
转载 2021-07-01 14:13:00
307阅读
2评论
之前手写过跳表,所以概念性的东西就不多提,直接上链接:数据结构(9)-- 跳表在redis中跳表主要应用于有序集合的底层实现。这个别人怎么讲都
原创 2022-01-11 11:21:20
236阅读
文章目录redis事件机制概述redis的事件循环器:aeEventLoopredis启动事件循环redis事件机制概述1、redis使用 IO 复用 实现网络通信。2、在Linux环境下选用epoll模式。redis的事件循环器:aeEventLoopacEventLoop 是 redis 的事件循环器,负责管理事件。/* State of an event based program */typedef struct aeEventLoop { int maxfd; //当前已注.
原创 2022-01-05 14:29:13
102阅读
  Redis 是一个开源(BSD许可)、基于内存、高性能的数据结构,可以作为K-V数据库、缓存、消息代理(message broker)和流引擎。  
文章目录问题抛出结构设计实际节点基本操作增重新编码解析数据重新分配空间接入数据问题抛出用过 Python 的列表吗?就是那种可以存储任意类型数据的,支持随机读取的数据结构。没有用过的话那就没办法了。本质上这种列表可以使用数组、链表作为其底层结构,不知道Python中的列表是以什么作为底层结构的。但是redis的列表既不是用链表,也不是用数组作为其底层实现的,原因也显而易见:数组不方便,弄个二维的?柔性的?怎么写?链表可以实现,通用链表嘛,数据域放 void* 就可以实现列表功能。但是,链表的缺点.
原创 2022-01-07 14:01:51
60阅读
文章目录​​问题抛出​​​​结构设计​​​​实际节点​​​​基本操作​​​​增​​​​重新编码​​​​解析数据​​​​重新分配空间​​​​接入数据​​ 问题抛出用过 Python 的列表吗?就是那种可以存储任意类型数据的,支持随机读取的数据结构。 没有用过的话那就没办法了。本质上这种列表可以使用数组、链表作为其底层结构,不知道Python中的列表是以什么作为底层结构的。 但是redis的列表既不是
原创 2021-12-31 14:22:45
164阅读
文章目录关于quicklist无损压缩算法核心数据结构关于quicklist上一篇学习了ziplist,是
原创 2022-01-07 13:53:17
130阅读
  • 1
  • 2
  • 3
  • 4
  • 5