随笔分类 -  Redis运维和源码解析

记录redis运维问题和源码学习感想
摘要:本文基于社区版Redis 4.0.8 1、命令解析 Redis服务器接收到的命令请求首先存储在客户端对象的querybuf输入缓冲区,然后解析命令请求的各个参数,并存储在客户端对象的argv和argc字段。 客户端解析命令请求的入口函数为readQueryFromClient,会读取socket数据 阅读全文
posted @ 2022-02-10 12:33 茁壮的小草 阅读(590) 评论(0) 推荐(0) 编辑
摘要:本文基于社区版Redis 4.0.8 1、复现条件 版本:社区版Redis 4.0.10以下版本 使用场景:开启读写分离的主从架构或者集群架构(master只负责写流量,slave负责读流量) 案例: # 写入一条带过期时间10s的key 10.90.73.147:12345> set luxiu1 阅读全文
posted @ 2022-02-08 13:02 茁壮的小草 阅读(758) 评论(0) 推荐(0) 编辑
摘要:本文基于社区版Redis 4.0.8 1、 初始化参数配置 由函数initServerConfig()实现,具体操作就是给配置参数赋初始化值: //设置时区 setlocale(LC_COLLATE,""); //设置随机种子 char hashseed[16]; getRandomHexChars 阅读全文
posted @ 2022-02-07 20:22 茁壮的小草 阅读(332) 评论(0) 推荐(0) 编辑
摘要:1、在从库上执行bgsave,生成最新的rdb文件 2、安装分析rdb文件的工具:rdb_bigkeys 1)安装go运行环境,设置环境变量,安装完成后使用go env查看 2)下载 https://github.com/weiyanwei412/rdb_bigkeys 3)安装: 进入gopath 阅读全文
posted @ 2020-07-15 12:13 茁壮的小草 阅读(738) 评论(0) 推荐(0) 编辑
摘要:一、redis持久化redis是内存数据库,一切的数据都是存储到内存中的,我们知道,当服务器意外关机,那么在内存中的数据都将丢失,但是redis为我们提供持久化功能,这样就能把数据保存到硬盘上。redis提供两种持久化方式,分别是RDB和AOF方式,各有特点。下面进行介绍这两种方式。1、RDB方式默... 阅读全文
posted @ 2015-12-07 19:11 茁壮的小草 阅读(2021) 评论(0) 推荐(0) 编辑
摘要:一、消息通知在一些网站上,经常会有一些发布/订阅或者邮件订阅的功能,尤其一些博客上。其实这种问题很常见,当页面需要进行如发送邮件、复杂的计算时会阻塞页面的渲染。为了避免用户等待太久,应该使用其他进程单独完成此类操作,这里邮件订阅可以用任务队列来实现,具体来说,当需要发送邮件时,将其存入队列中,另外一... 阅读全文
posted @ 2015-12-06 18:57 茁壮的小草 阅读(418) 评论(0) 推荐(0) 编辑
摘要:一、redis中的事务在关系型数据库中事务是必不可少的一个核心功能,生活中也是处处可见,比如我们去银行转账,首先需要将A账户的钱划走,然后存到B账户上,这两个步骤必须在同一事务中,要么都执行,要么都不执行,不然钱凭空消失了,换了谁也无法接受。同样,redis中也为我们提供了事务,原理是:先把一组同一... 阅读全文
posted @ 2015-12-05 13:39 茁壮的小草 阅读(786) 评论(0) 推荐(0) 编辑
摘要:今天来学习redis的基础数据类型,redis中一共有五种数据类型,分别是:string,hash,list,set,zset。下面分别进行介绍。一、string(字符串)字符串类型是redis最基础的数据类型,它能存储任何形式的字符串,包括二进制数据。一个字符串类型允许存储的数据最大容量是512M... 阅读全文
posted @ 2015-11-24 22:31 茁壮的小草 阅读(667) 评论(0) 推荐(0) 编辑
摘要:学习redis最好的办法就是动手一边学习尝试它。在学习redis最核心内容之前,先来熟悉下如何安装及运行redis,以及redis的基础知识,下面一边介绍一边实践。一、redis安装安装redis需要了解redis的版本制定规则以选择最合适自己的版本,redis约定次版本号(第一个小数点后的数字)为... 阅读全文
posted @ 2015-11-23 23:04 茁壮的小草 阅读(473) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示