Redis
文章平均质量分 84
Redis基础及原理
BSY丶
这个作者很懒,什么都没留下…
展开
-
Redis集群
要避免这种单点故障,最好的办法是将数据备份到其他服务器上,让这些服务器也可以对外提供服务,这样即使有一台服务器出现了故障,其他服务器依然可以继续提供服务。原创 2023-07-16 19:48:17 · 1050 阅读 · 0 评论 -
Ubuntu下搭建Redis分片集群
分片集群需要的节点数量较多,搭建一个最小的分片集群,包含3个master节点,每个master包含一个slave节点,并且master之间通过心跳机制互相监听,此模式下不需要哨兵监听结构如下。原创 2023-07-16 12:28:29 · 1037 阅读 · 0 评论 -
Ubuntu下配置Redis哨兵集群
搭建一个三节点形成的Sentinel集群,来监管Redis主从集群。原创 2023-07-16 11:59:30 · 1080 阅读 · 0 评论 -
Ubuntu下搭建Redis主从集群
共包含三个节点,一个主节点,两个从节点。这里我们会在同一台虚拟机中开启3个redis实例,模拟主从集群,信息如下。原创 2023-07-16 11:21:55 · 1104 阅读 · 0 评论 -
Redis通用命令&数据类型
ZINCRBY key increment member:让sorted set中的指定元素自增,步长为指定的increment值。获取sorted set 中的指定元素的排名:ZREVRANK key memeber。ZRANK key member:获取sorted set 中的指定元素的排名。获取sorted set 中的指定元素的排名:ZRANK key member。Hash 类型:缓存对象、购物车等。原创 2023-07-06 22:07:11 · 597 阅读 · 0 评论 -
Redis对象结构 — RedisObject
database内的这个映射关系是用⼀个dict来维护的。而value则比较复杂,为了在同⼀个dict内能够存储不同类型的value,这就需要⼀个通⽤的数据结构,这个通用的数据结构就是robj,全名是redisObject。,⼀个Redis节点包含多个database(非cluster模式下默认是16个,cluster模式下只能是1个),而一个database维护了从key space到object space的映射关系。我们可以看到,key的类型固定是string,而value可能的类型是多个。原创 2023-07-15 16:48:23 · 766 阅读 · 0 评论 -
Redis数据类型 — String
String 类型的底层的数据结构实现主要是数据结构:SDS。原创 2023-07-15 17:31:34 · 262 阅读 · 0 评论 -
Redis数据类型 — List
List 列表是简单的字符串列表,,可以向 List 列表添加元素。原创 2023-07-15 18:03:20 · 385 阅读 · 0 评论 -
Redis数据类型 — Set
Set 类型是一个,它的存储顺序不会按照插入的先后顺序进行存储。一个集合最多可以存储2^32-1个元素。Set 类型除了支持集合内的增删改查,同时还支持多个集合取。原创 2023-07-15 18:29:39 · 326 阅读 · 0 评论 -
Redis数据类型 — Zset
ZSet中每一个元素都需要指定一个score值和member值:可以根据score值排序后member必须唯一可以根据member查询分数。原创 2023-07-15 19:04:10 · 359 阅读 · 0 评论 -
Redis数据类型 — Hash
Hash 是一个键值对(key - value)集合,Hash 特别适合用于存储对象。原创 2023-07-15 19:53:13 · 446 阅读 · 0 评论 -
Redis数据结构 — SkipList
跳表的优势是。原创 2023-07-14 20:33:56 · 851 阅读 · 0 评论 -
Redis数据结构 — Dict
哈希表优点在于,它。为解决哈希冲突,,在不扩容哈希表的前提下,将具有相同哈希值的数据串起来,形成链接起,以便这些数据在表中仍然可以被查询到。原创 2023-07-14 18:50:48 · 512 阅读 · 0 评论 -
Redis数据结构 — Listpack
quicklist 虽然通过控制 quicklistNode 结构里的压缩列表的大小或者元素个数,来减少连锁更新带来的性能影响,但是并没有完全解决连锁更新的问题。于是,Redis 在 5.0 新设计一个数据结构叫,目的是替代压缩列表,它最大特点是。原创 2023-07-14 16:44:44 · 1750 阅读 · 0 评论 -
Redis数据结构 — QuickList
QuickList的特点:是一个节点为ZipList的双端链表节点采用ZipList,解决了传统链表的内存占用问题控制了ZipList大小,解决连续内存空间申请效率问题中间节点可以压缩,进一步节省了内存缺点:内存增加,每扩展一次节点,都要记录其头信息。原创 2023-07-14 16:04:08 · 234 阅读 · 0 评论 -
Redis数据结构 — ZipList
可以通过表头三个字段(zllen)的长度直接定位,原创 2023-07-14 15:46:44 · 395 阅读 · 0 评论 -
Redis数据结构 — List
Redis 的 List 对象的底层实现之一就是链表。C 语言本身没有链表这个数据结构的,所以 Redis 自己设计了一个链表数据结构。原创 2023-07-14 14:40:02 · 1442 阅读 · 0 评论 -
Redis数据结构 — IntSet
IntSet是Redis中set集合的一种实现方式,基于整数数组来实现,并且具备等特征。原创 2023-07-13 21:19:51 · 305 阅读 · 0 评论 -
Redis数据结构 — SDS
字符串在 Redis 中是很常用的,中的是字符串类型,也是字符串类型Redis 是用 C 语言实现的,但是它没有直接使用 C 语言的 char* 字符数组来实现字符串,而是自己封装了一个名为简单动态字符串(simple dynamic string,SDS) 的数据结构来表示字符串。原创 2023-07-13 20:07:27 · 389 阅读 · 0 评论 -
Redis消息队列
字面意思就是存放消息的队列。使用队列的好处在于。最简单的消息队列模型包括3个角色:消息队列:存储和管理消息,也被称为消息代理(Message Broker)生产者:发送消息到消息队列消费者:从消息队列获取消息并处理消息。原创 2023-07-09 17:12:44 · 963 阅读 · 0 评论 -
Redis线程模式
关于线程数的设置,官方的建议是如果为 4 核的 CPU,建议线程数设置为 2 或 3,如果为 8 核 CPU 建议线程数设置为 6,线程数一定要小于机器核数,线程数并不是越大越好。Redis 6.0 版本支持的 I/O 多线程特性,默认情况下 I/O 多线程只针对。要想开启多线程处理客户端读请求,就需要把 Redis.conf 配置文件中的。初始化完后,主线程就进入到一个。,并不会以多线程的方式。配置项设为 yes。原创 2023-07-06 15:53:05 · 398 阅读 · 0 评论 -
Redis缓存
缓存数据存储于代码中,而代码运行在内存中,内存的读写性能远高于磁盘,缓存可以大大降低服务器读写压力标准的操作方式就是查询数据库之前先查询缓存,如果缓存数据存在,则直接从缓存中返回,如果缓存数据不存在,再查询数据库,然后将数据存入redis。原创 2023-07-09 14:53:59 · 624 阅读 · 0 评论 -
Redis分布式锁
用C++编写的Redis分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路。原创 2023-07-07 16:37:18 · 169 阅读 · 0 评论