【Redis源码】setrange命令

setrange命令主要用于设置value的部分子串,设置时将值从偏移量offset开始覆盖成value值。如果偏移值大于原值的长度,则偏移量之前的字符串由“\x00”填充。 命令格式: setrange key offset value

【Redis源码】mset命令

通过set、setex等命令只能设置单个字符串到数据库,当我们想一次性设置多个字符串时,可以使用mset或msetnx命令来解决。 格式: mset key value [key value ...] msetnx key value [key value ......

【Redis源码】Redis事件监听

Redis服务器是典型的事件驱动程序,而事件又分为文件事件(socket的可读可写事件)与时间事件(定时任务)两大类。无论是文件事件还是时间事件都封装在结构体aeEventLoop中:

【Redis源码】Redis 启动过程分析

由于本人目前是华为FusionInsight HD 中Redis组件的Owner,所以要对Redis进行深入的了解,这对于C语言水平不咋地的我来讲还是有点难度的,于是我决定先从Redis的启动开始看,了解其基本原理。

Redis 的安装使用

Redis是一个内存结构数据库。这意味着Redis通过一组命令提供对可变数据结构的访问,这些命令是使用带有TCP套接字和简单协议的服务器-客户机模型发送的。因此不同的进程可以以共享的方式查询和修改相同的数据结构。 Redis中实现的数据结构有几个特殊属性: ......

Redis 数据结构 skiplist

Redis 的跳跃表由 server.h/zskiplistNode 和 server.h/zskiplist两个结构定义, 其中 zskiplistNode结构用于表示跳跃表节点, 而 zskiplist结构则用于保存跳跃表节点的相关信息, 比如节点的数 ......

Redis 慢查询分析

在慢查询的定义中,统计比较慢的时间段指的是命令执行这个步骤。没有慢查询,并不表示客户端没有超时问题,有可能网络传输有延迟,也有可能排队的命令比较多。 因为Redis中命令执行的排队机制,慢查询会导致其他命令的级联阻塞,所以当客户端出现请求超时的时候,需要检 ......

Redis Sentinel哨兵机制

Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务: 监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。 提醒(Notification): 当被 ......

Redis 集群详解

Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推出的一套分布式存储方案。完全去中心化,由多个节点组成,所有节点彼此互联。Redis 客户端可以直接连接任何一节点获取集群中的键值对,不需要中间代理,如果该节点不存在用户 ......

理解Redis的内存

Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis 至关重要。