
Rain
文章平均质量分 88
_梧桐树。
这个作者很懒,什么都没留下…
展开
-
Zookeeper
Zookeeper的介绍和安装Zookeeper客户端使用ZookeeperJavaAPI使用我们为了学习Dubbo,而在dubbo中需要一个注册中心,而Zookeeper是我们在使用Dubbo是官方推荐的注册中心,所以我们先来介绍ZookeeperZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。原创 2024-07-30 22:39:23 · 335 阅读 · 0 评论 -
Redis缓存数据库进阶——Redis设计与实现(9)
type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)hash(哈希)、list(列表)、set(集合)、zset (有序集合),但这些只是Redis对外的数据结构。实际上每种数据结构都有自己底层的内部编码实现,而且是多种实现,这样Redis会在合适的场景选择合适的内部编码。每种数据结构都有两种以上的内部编码实现,例如list数据结构包含了linkedlist和ziplist两种内部编码。原创 2024-07-28 20:24:22 · 792 阅读 · 0 评论 -
Redis缓存数据库进阶——Redis缓存数据同步问题(8)
bigkey是指key对应的value所占的内存空间比较大,例如一个字符串类型的value可以最大存到512MB,一个列表类型的value最多可以存储23-1个元素。如果按照数据结构来细分的话,一般分为字符串类型bigkey和非字符串类型bigkey。字符串类型:体现在单个value值很大,一般认为超过10KB就是bigkey,但这个值和具体的OPS相关。非字符串类型:哈希、列表、集合、有序集合,体现在元素个数过多。bigkey无论是空间复杂度和时间复杂度都不太友好,下面我们将介绍它的危害。原创 2024-07-28 18:36:08 · 1279 阅读 · 0 评论 -
Redis缓存数据库进阶——Redis主从与集群(7)
在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis 副本。复制功能是高可用Redis的基础,后面章节的哨兵和集群都是在复制的基础上实现高可用的。默认情况下,Redis都是主节点。每个从节点只能有一个主节点,而主节点可以同时具有多个从节点。复制的数据流是单向的,只能由主节点复制到从节点。原创 2024-07-27 23:21:36 · 546 阅读 · 0 评论 -
Redis缓存数据库进阶——Redis与分布式锁(6)
Redlock 只有建立在「时钟正确」的前提下,才能正常工作,如果你可以保证这个前提,那么可以拿来使用。但是时钟偏移在现实中是存在的:第一,从硬件角度来说,时钟发生偏移是时有发生,无法避免。例如,CPU 温度、机器负载、芯片材料都是有可能导致时钟发生偏移的。第二,人为错误也是很难完全避免的。所以,Redlock尽量不用它,而且它的性能不如单机版 Redis,部署成本也高,优先考虑使用主从+ 哨兵的模式 实现分布式锁(只会有很小的记录发生主从切换时的锁丢失问题)。分布式锁的常见问题和解决方案。原创 2024-07-25 16:01:51 · 1239 阅读 · 0 评论 -
Redis缓存数据库进阶——Redis持久化RDB、AOF(5)
Redis虽然是个内存数据库,但是Redis支持RDB和AOF两种持久化机制,将数据写往磁盘,可以有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。原创 2024-07-24 22:23:39 · 936 阅读 · 0 评论 -
Redis缓存数据库进阶——Redis高级特性与应用(4)
先有一个桶,桶的容量是固定的。以任意速率向桶流入水滴,如果桶满了则溢出(被丢弃)。桶底下有个洞,按照固定的速率从桶中流出水滴。原创 2024-07-19 22:14:56 · 838 阅读 · 0 评论 -
Redis缓存数据库进阶——Redis高级数据类型(3)
布隆过滤器是一种空间效率很高的概率型数据结构,用于判断一个元素是否在一个集合中。它的核心思想是利用多个哈希函数将元素映射到一个足够大的位数组中,并标记相应的位置为1。在查询时,通过同样的哈希函数计算待查询元素的哈希值,并检查位数组中对应的位置是否都为1。如果所有位置都为1,则认为元素可能存在于集合中(存在误判率);如果有一个位置不为1,则肯定不存在于集合中。登录频率:统计用户在一定时间内的登录次数,如日登录次数、周登录次数、月登录次数等。活跃天数:统计用户在一定时间周期内(如一个月)有多少天进行了登录。原创 2024-07-18 21:04:57 · 700 阅读 · 0 评论 -
Redis缓存数据库进阶——Redis基础数据类型(2)
【代码】Redis缓存数据库进阶——Redis基本数据类型(2)原创 2024-07-16 22:48:24 · 281 阅读 · 0 评论 -
Redis缓存数据库进阶——Linux下安装Redis(1)
Redis 是一个基于内存的数据库,因此它提供了极快的读写速度,非常适合处理需要高并发和快速响应的场景,如缓存、消息队列、实时分析等。:Redis 支持多种数据类型,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等,这为开发者提供了更多的灵活性和便利性。:Redis 提供了丰富的原子操作命令,这些命令在单个操作中是原子性的,保证了数据的一致性和并发控制。原创 2024-07-15 23:14:40 · 2399 阅读 · 0 评论 -
714提问的智慧和面试指导课
原创 2024-07-15 09:49:19 · 102 阅读 · 0 评论