首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Redis学习笔记
Emanon
创建于2023-08-21
订阅专栏
Redis命令、数据结构、架构、集群、日志、内存淘汰策略、数据一致性、缓存雪崩、击穿、穿透等学习笔记。
等 8 人订阅
共15篇文章
创建于2023-08-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
15.Redis之三种集群方案
主从能实现读写分离但不能自动故障转移和在线扩容,容量受限。 哨兵基于主从能实现自动故障转移但不能在线扩容,容量受限。Cluster模式通过分布式存储可线性扩展高但是批量操作、事务操作不友好。
14.Redis之RDB内存快照
所谓内存快照,就是指内存中的数据在某一个时刻的状态记录。这就类似于照片,当你给朋友拍照时,一张照片就能把朋友一瞬间的形象完全记下来。
13.AOF日志
对 Redis 来说,实现数据的持久化,避免从后端数据库中进行恢复,是至关重要的。目前,Redis 的持久化主要有两大机制,即 AOF(Append Only File)日志和 RDB 快照。
12.单线程Redis为什么快
首先要明白Redis的单线程指的是执行命令时每次客户端调用都经历了发送命令、执行命令、返回结果三个过程,具体来说是发送命令、接收命令、命令排队、执行命令、返回结果5个过程。
11.Redis的慢操作之rehash
redis全局哈希表的扩展和收缩需要将ht[0]上的所有键值对rehash到ht[1]哈希表中。但是redis的rehash动作并不是一次性完成的,而是分多次、渐进式的完成的。
10.Redis数据结构之跳表
sortedSet也有两种不同的实现,分别是zipList和(字典+跳表)。字典用于快速查找分值,跳表用于执行范围操作和保证顺序。
9.Redis数据结构之整数数组
当集合中的元素都是整数会用整数数组存储,优点是存储空间小,操作效率高。当集合中的元素包含字符串会用哈希表存储。优点是可以存储任意类型的元素且支持字符串操作。缺点是存储空间相对较大操作效率相对较低。
8.Redis数据结构之ZipList
ziplist是由一系列特殊编码的连续内存块组成的顺序存储结构,类似于数组,ziplist在内存中是连续存储的,但是不同于数组,为了节省内存 ziplist的每个元素所占的内存大小可以不同。
7.Redis数据结构之SDS简单动态字符串
可以把SDS简单动态字符串理解为是对字符串数组的封装,保存了字符串数组中已保存字符的长度和未使用字符的数量。Redis中的简单动态字符串其实是对C语言中的字符串的封装和优化。
6.redis常用命令汇总
keys命令全量遍历键,用来列出所有满足特定正则的key。keys会一次性返回所有符合条件的key,所以会造成redis的卡顿。另外如果一次性返回所有key,对内存的消耗在某些条件下也是巨大的。
5.redis数据类型之SortedSet
zset是Redis提供的一个非常特别的数据结构,常用作排行榜等功能。zset也有两种不同的实现,分别是zipList和skipList。
4.redis数据类型之Set
redis的集合对象set使用了intset和hashtable两种数据结构存储,intset我们可以理解为数组,hashtable就是普通的哈希表,且intset和hashtable是存在编码转换。
3.redis数据类型之List
list采用链表存储,所以redis可以操作两端数据。list使用压缩列表和双向链表作为底层实现,双向链表占用内存比压缩列表要多,会优先考虑使用压缩列表,在特定条件会从压缩列表实现转换到双向链表实现。
2.redis数据类型之Hash
redisson分布式锁框架选择使用hash作为分布式锁的数据结构。 大key是我们要加锁的业务数据,比如订单号。小key使用的是我们加锁的机器id+线程id。value就是可重入的次数。
1.redis数据类型之String
redis中数据类型String相关的命令以及String相关的应用场景。商品编号、订单号采用string的递增数字特性生成。