redis
学习Java的小姐姐
一线互联网高级软件开发工程师,同时也是一个萌妹子,哈哈哈,必须得萌。擅长Java,Redis,MySQL,ES,RabbitMQ等技术。| 公众号:学习Java的小姐姐,回复有惊喜哦。
展开
-
内存节省到极致的Redis压缩表,值得了解...
redis源码分析系列文章[Redis源码系列]在Liunx安装和常见API为什么要从Redis源码分析String底层实现——动态字符串SDS双向链表都不懂,还说懂Redis?面试官:说说Redis的Hash底层 我:......(来自阅文的面试题)Redis的跳跃表确定不了解下多图解释Redis的整数集合intset升级过程前言hello,大家好,又见面啦????。前面几周我们一起看了Redis底层数据结构,如动态字符串SDS,双向链表Adlist,字典Di.原创 2020-07-03 16:41:08 · 2275 阅读 · 5 评论 -
多图解释Redis的整数集合intset升级过程
redis源码分析系列文章[Redis源码系列]在Liunx安装和常见API为什么要从Redis源码分析String底层实现——动态字符串SDS双向链表都不懂,还说懂Redis?面试官:说说Redis的Hash底层 我:......(来自阅文的面试题)Redis的跳跃表确定不了解下前言大噶好,今天仍然是元气满满的一天,抛开永远写不完的需求,拒绝要求贼变态的客户,单纯的学习技术,感受技术的魅力。(哈哈哈,皮一下很开森)前面几周我们一起看了Redis底层数据结构,...原创 2020-06-23 14:30:10 · 735 阅读 · 2 评论 -
Redis的跳跃表确定不了解下
redis源码分析系列文章[Redis源码系列]在Liunx安装和常见API为什么要从Redis源码分析String底层实现——动态字符串SDS双向链表都不懂,还说懂Redis?面试官:说说Redis的Hash底层 我:......(来自阅文的面试题)前言hello,大家好,周五见了。前面几周我们一起看了Redis底层数据结构,如动态字符串SDS,双向链表Adlist,字典Dict,如果有对Redis常见的类型或底层数据结构不明白的请看上面传送门。今天我们来看下ZS...原创 2020-06-19 11:29:43 · 901 阅读 · 1 评论 -
面试官:说说Redis的Hash底层 我:......(来自阅文的面试题)
redis源码分析系列文章[Redis源码系列]在Liunx安装和常见API为什么要从Redis源码分析String底层实现——动态字符串SDS双向链表都不懂,还说懂Redis?前言hello,各位小可爱们,又见面了。今天这篇文章来自去年面试阅文的面试题,结果被虐了。这一part不说了,下次专门开一篇,写下我面试被虐的名场面,尴尬的不行,全程尬聊。哈哈哈哈,话不多说,开始把。????今天要写Redis的Hash类型,如果有对Redis不熟悉,或者对其他数据类型感兴..原创 2020-06-09 14:54:58 · 1085 阅读 · 1 评论 -
双向链表都不懂,还说懂Redis?
目录redis源码分析系列文章前言API使用lpush左侧插入数据rpush右侧插入数据删除某个数据修改某个数据具体逻辑图双向链表的定义节点ListNode整体架构双向链表的实现创建表头清空表添加元素到表头添加元素到表尾插入删除总结redis源码分析系列文章[Redis源码系列]在Liunx安装和常见API为什么要从Redis源码分析String底层实现——动态字符串SDS前言hello,又...原创 2020-06-03 09:28:44 · 889 阅读 · 1 评论 -
一文带你快速搞懂动态字符串SDS
目录redis源码分析系列文章前言API使用embstr和raw的区别SDSHdr的定义SDS具体逻辑图SDS的优势更快速的获取字符串长度数据安全,不会截断SDS关键代码分析获取常见值(抽象出常见方法)创建对象删除添加字符(扩容)重点!!!总结参考资料redis源码分析系列文章[Redis源码系列]在Liunx安装和常见API为什么要从Redis源码分析前言上篇我们已经了解了Redis是什么,在Linux上如何安装,常见..原创 2020-06-02 10:20:31 · 2740 阅读 · 7 评论 -
为什么要从Redis源码分析
前言Redis是使用C写的,而C中根本不存在string,list,hash,set和zset这些数据类型,那么C是如何将这些数据类型实现出来的呢?对于常见的复制,通知,哨兵,集群等功能,又是如何实现的。Redis代码规模小,文件数量也不多,所以开始对Redis源码进行分析。准备工作首先去官网下载文件,下载完解压即可,我们是对src中的文件进行分析。还要下载个查看源码的工具,我使用的是DEV C++,虽然不好使,但是能使。使用啥工具,自己看就行。确定学习路线先确定下针对学习路原创 2020-06-02 10:13:37 · 1715 阅读 · 2 评论 -
如何在Linux上安装Redis(内附详细教程)
前言hello,好久不见,又断更了一段时间。同事大部分离职了,但是活还是一样,所以只能硬着头皮顶上。现在总算歇会了,决定开启Redis源码系列,希望不要啪啪啪打脸。什么是redis?Redis是一种基于键值对(key-value)的NoSQL数据库,主要的数据类型包括String(字符串),hash(哈希),list(列表),set(集合),zset(有序集合),bitmaps(位图),GEO(地理信息定位)等。注意:如果面试问Redis数据类型,前五个是基础,必须答对,后面两个是亮点。原创 2020-06-02 10:11:23 · 7199 阅读 · 0 评论 -
Redis的6379端口占用Creating Server TCP listening socket *:6379: bind: Address already in use
问题:要操作三步 :①找到该进程;找到redis-server 的进程输入命令:ps -ef | grep -i redis②杀死该进程;使用kill 命令输入命令:kill -9 4530③然后重新启动redis服务器。原创 2020-05-23 17:58:17 · 1210 阅读 · 0 评论 -
redis字典结构
目录前言结构介绍解决冲突重新散列渐进式散列前言大年初五送财神,emmm,希望今年暴富,每年都是这么单纯简单的小愿望,没有一次让我实现的。年会一个奖都没抽到,emmmm,我很好。so,还是自己动手,丰衣足食。今天学习redis中的字典。结构介绍字典,C语言中没有内置这种数据结构,所以redis自己构建了实现。hash类型的数据底层就是字典。...原创 2019-02-09 17:54:14 · 944 阅读 · 0 评论 -
redis双向链表
前言大年初三,在家无所事事,脑袋格外清醒,就来磕会源码,晕了就可以睡觉啦。哈哈哈,催眠一绝。今天看的是数据结构为list类型的底层实现,怕偶以后忘记了,特地重新撸一遍。127.0.0.1:6379> LPUSH list a b c //依次在链表头部插入a、b、c (integer) 3127.0.0.1:6379> RPUSH list d e f //...原创 2019-02-07 13:33:16 · 1340 阅读 · 0 评论 -
redis简单动态字符串SDS
前言从今天开始我们就要学习redis的源码了,想想还有点小激动呢。前方高能预警,非战斗人员迅速撤离。但是咱怎么能怂呢,撤离啥啊,说干就干,死磕源码,这代码也是人写的,他还能整出什么幺蛾子。又一个但是来了,redis底层是用C语言写的,如果对C语言一窍不通,那还是算了,前方等待的是一座大山。墙裂推荐去了解一下C.emmmm,幸好我会C,哈哈哈,毕竟他是开启偶代码之路的小哥哥。...原创 2019-02-06 21:22:54 · 451 阅读 · 0 评论 -
redis哨兵sentinel
目录背景windows搭建哨兵1.下载windows的redis2.搭建主从复制(一主二从)3.搭建哨兵(3个)测试哨兵哨兵进行故障转移的过程哨兵sentinel初始化的过程sentinel为什么是3个?哨兵如何监控?整个故障转移流程背景今年是除夕夜,还在整理文档,偶真是个可爱认真的小仙女。上篇学习了主从复制,多完美,分散了主服务器的压力...原创 2019-02-04 20:59:30 · 402 阅读 · 0 评论 -
redis持久化
Table of Contents前言什么是持久化?持久化的实现方式1.快照(RDB)a.简介b.三种触发方式2.写日志(AOF)a.简介b.三种触发条件c.AOF重写前言hello,小可爱们,咱又见面啦。一日不见,如隔三秋。有没有想偶啊?好了好了,不闹了,咱今天先来提一个问题,redis之所以速度快,是因为将数据放在内存中。众所周知,存放在...原创 2019-01-22 22:03:12 · 159 阅读 · 0 评论 -
redis的复制
前言测试复制功能详解复制功能(重点)旧版复制功能的实现同步命令传播旧版复制功能的缺陷新版复制功能的实现部分重同步的实现复制偏移量复制积压缓冲区服务器运行ID前言hello,偶就是这么勤快,又更新了,赶紧夸我。emmmm,就是这么骄傲。言归正传,今天要说的可是个大家伙,毕竟从现在开始,咱不整简单功能啦,整点厉害的,哈哈哈先抛出问题,...原创 2019-01-25 10:37:35 · 954 阅读 · 1 评论 -
redis的数据结构
Table of ContentsTable of Contents前言准备工作1.字符串(String)操作命令具体展示2.字符串列表(List)操作命令具体展示3.集合(Set):键是唯一的,可用于共同关注,共同喜好,二度好友操作命令具体展示4.有序集合(ZSet)操作命令具体展示5.哈希(Hash):key-value操...原创 2018-12-31 22:20:10 · 205 阅读 · 0 评论 -
Jedis连接数据库
Table of Contents1.前言2.下载jar包3.先用jedis测试一下4.再用JedisPool连接池试一下1.前言Hello,小哥哥小姐姐们,我们又见面了。上一篇说了在Linux中如何下载和安装redis,一脸懵逼者请移步,在Linux上下载和安装Redis,但是我们通常用编程语言Java来连接他的,那今天我们来学习一下如何用Java来连接他。首先先...原创 2018-12-31 22:18:41 · 703 阅读 · 1 评论 -
redis的科普篇
Redis是什么?Redis是REmote Dlctionary Server(远端字典服务器的缩写),是目前最火热的非关系型数据库,最新的稳定版本是redis 5.0。插播:非关系型数据库No SQL 主要包括四种,但这边我们只说两种,分别是键值对型和文档型。键值对型:代表为redis。优点查询速度快,缺点数据结构没有统一的,比较杂乱。文档型:代表为MongoDB。优点数据结...原创 2018-12-31 22:17:16 · 270 阅读 · 0 评论 -
在Linux上下载和安装Redis
Table of Contents1.安装gcc环境2.到官网下载压缩包并上传到Linux上3.对其进行解压4.到该文件夹下执行make命令(编译)5.开始安装,标红的为安装目录6.判断是否安装成功7.最后一步8.启动Redis(前端启动)9.启动Redis(后端启动) 1.安装gcc环境redis是C语言开发的,安装redis需要将官网下载的源码进...原创 2019-01-05 14:23:47 · 764 阅读 · 0 评论