Redis
文章平均质量分 70
Redis
龙大.
初心未改,方得始终!
展开
-
Zookeeper和Redis分别实现分布式锁的原理
分布式锁是一种在分布式系统中用来同步多个进程对共享资源访问的机制。它可以保证在同一时刻,只有一个进程能够获取锁并访问共享资源,从而避免并发冲突。原创 2024-04-15 23:17:33 · 965 阅读 · 1 评论 -
Redis Map数据结构中相同key不同的字段会分散多节点存储吗?
无论是单实例Redis还是Redis集群,一个Map数据类型的key对应的所有字段和值都存储在同一台机器上。在Redis集群中,这是通过哈希槽机制来保证的,确保了对同一个key的操作不需要跨节点通信,从而提高了操作的效率。原创 2024-03-25 12:56:18 · 424 阅读 · 0 评论 -
Redis是如何避免“数组+链表”的过长问题
Redis通过动态调整哈希表的大小来解决“数组+链表”的长度问题,这涉及到两个过程:扩展(Expand)和收缩(Shrink)。在Redis集群模式下,哈希表会被分成多个分片,每个分片由不同的Redis节点管理,这样可以分散负载,减少单个链表过长的风险。对于有序数据集合,Redis使用跳跃表而不是链表来存储元素,跳跃表的平均和最坏情况下的时间复杂度都比链表要好。Redis使用MurmurHash等高质量的哈希函数来减少哈希冲突。原创 2024-03-22 23:13:02 · 554 阅读 · 0 评论 -
Redis 数据类型及其底层数据结构
Redis中的底层数据结构转换是自动进行的,无需人为干预。Redis为了优化性能和内存使用,会根据数据的实际使用情况自动选择最合适的底层数据结构。当数据结构的实际使用超过这些配置的阈值时,Redis就会自动进行数据结构的转换,以确保数据结构的存储效率和操作性能。这些参数可以在Redis配置文件中设置,或者通过。原创 2024-03-22 13:00:47 · 938 阅读 · 0 评论 -
Redis 的5种数据类型的基本命令
Redis的String类型是最基本的数据类型,它可以包含任何形式的字符串或二进制数据。Redis的Map类型在Redis中称为哈希(Hash),它是一个键值对集合。Redis的Set是一个无序集合,它通过哈希表实现,可以存储一些不重复的值。Redis的List是一个字符串列表,它按照插入顺序排序。原创 2024-03-21 12:25:55 · 1155 阅读 · 0 评论 -
Redis 的 RDB 和 AOF
当 RDB 持久化被触发时,Redis 会创建一个子进程来执行实际的数据保存工作,父进程则继续处理客户端请求。子进程将内存中的数据写入到一个临时 RDB 文件中,完成后替换旧的 RDB 文件。原创 2024-03-14 12:59:42 · 557 阅读 · 1 评论 -
Redis 线程模型
Redis 是一个高性能的键值存储系统,它的线程模型和传统的多线程服务器模型有所不同。Redis 主要使用单线程来处理命令请求,但在某些操作和场景中会使用多线程。原创 2024-03-13 12:58:39 · 1142 阅读 · 0 评论 -
Redis 淘汰策略
Redis 是一个使用键值对存储数据的内存中数据结构存储系统,它支持多种类型的数据结构,如字符串(strings),列表(lists),集合(sets),有序集合(sorted sets)以及散列表(hashes)。当内存不足以容纳所有数据时,Redis 可以配置不同的淘汰策略来决定哪些数据应该被移除。原创 2024-03-13 12:57:04 · 729 阅读 · 0 评论