2021年12月28日

Redis多线程

摘要: 在Redis 6.0中,非常受关注的第一个新特性就是多线程。这是因为,Redis一直被大家熟知的就是它的单线程架构,虽然有些命令操作可以用后台线程或子进程执行(比如数据删除、快照生成、AOF重写)。但是,从网络IO处理到实际的读写命令处理,都是由单个线程完成的。 随着网络硬件的性能提升,Redis的 阅读全文

posted @ 2021-12-28 19:15 凝神遐想 阅读(391) 评论(0) 推荐(0) 编辑

2021年12月27日

Redis Cluster 集群

摘要: 我曾遇到过这么一个需求:要用Redis保存5000万个键值对,每个键值对大约是512B,为了能快速部署并对外提供服务,我们采用云主机来运行Redis实例,那么,该如何选择云主机的内存容量呢? 我粗略地计算了一下,这些键值对所占的内存空间大约是25GB(5000万*512B)。 所以,当时,我想到的第 阅读全文

posted @ 2021-12-27 19:48 凝神遐想 阅读(254) 评论(0) 推荐(0) 编辑

2021年12月23日

Redis 哨兵机制

摘要: 在主从库模式下,如果从库发生故障了,客户端可以继续向主库或其他从库发送请求,进行相关的操作,但是如果主库发生故障了,那就直接会影响到从库的同步,因为从库没有相应的主库,可以进行数据复制操作了。 而且,如果客户端发送的都是读操作请求,那还可以由从库继续提供服务,这在纯读的业务场景下还能被接受。但是,一 阅读全文

posted @ 2021-12-23 19:35 凝神遐想 阅读(101) 评论(0) 推荐(0) 编辑

2021年12月22日

Redis主从复制

摘要: 之前没有了解过 Redis中 RDB 和 AOF 的小伙伴,点这里先了解下 RDB 和 AOF 如果 Redis 发生了宕机,它们可以分别通过回放日志和重新读入 RDB 文件的方式恢复数据,从而保证尽量少丢失数据提升可靠性。不过,即使用了这两种方法,也依然存在服务不可用的问题。 比如说,我们在实际使 阅读全文

posted @ 2021-12-22 20:38 凝神遐想 阅读(34) 评论(0) 推荐(0) 编辑

2021年12月21日

单线程Redis 为什么那么快

摘要: 通常来说,单线程的处理能力要比多线程差很多,但是Redis却能使用单线程模型,达到每秒数十万级别的处理能力,这是为什么呢? 其实,这是Redis多方面设计选择的一个综合结果。一方面,Redis的大部分操作在内存上完成,再加上它采用了高效的数据结构,例如哈希表和跳表,这是它实现高性能的一个重要原因。另 阅读全文

posted @ 2021-12-21 19:09 凝神遐想 阅读(139) 评论(0) 推荐(0) 编辑

2021年12月20日

Redis中"万金油"的string,为什么不好用了

摘要: 分享一个曾经使用Redis时遇到的需求以及解决方案 当时,要开发一个图片存储系统,要求这个系统能快速地记录图片ID,和图片在存储系统中保存时的ID(可以直接叫作图片存储对象ID)。同时,还要能够根据图片ID快速查找到图片存储对象ID。 因为图片数量巨大,所以我们就用10位数来表示图片ID和图片存储对 阅读全文

posted @ 2021-12-20 18:45 凝神遐想 阅读(128) 评论(0) 推荐(0) 编辑

2021年12月15日

Redis 淘汰策略

摘要: Redis已经设置了过期时间也就是TTL,那么键过期了不就是已经删除了吗?为什么还存在淘汰策略呢? 这要从Redis的过期策略来聊起 过期策略分为两种 一个是定时删除 还有一个是惰性删除 先来看下定时删除,就是Redis会将每个设置了过期时间的key,放入到一个独立的字典中,然后会定期遍历这个字典来 阅读全文

posted @ 2021-12-15 19:39 凝神遐想 阅读(92) 评论(0) 推荐(0) 编辑

2021年12月13日

Redis持久化之RDB与AOF 的区别

摘要: Redis 持久化 Redis绝大部分情况都是当做缓存来使用,因为它把后端数据库中的数据存储在内存中,再直接从内存中读取数据,响应速度会非常快 但是有一个不可忽略的问题,一旦服务器宕机,内存中的数据将会全部丢失 我们很容易想到的解决方案是,从后端数据库恢复这些数据,但是这种方式存在两个问题 一个是, 阅读全文

posted @ 2021-12-13 22:20 凝神遐想 阅读(797) 评论(0) 推荐(0) 编辑

2021年11月30日

CentOS系统搭建Redis集群(1主2从3哨兵)

摘要: 这里我们采用的集群整体架构就是主从结构+哨兵(sentinel),实现容灾的自动切换,如下图所示: 一个主节点(master)可拥有多个从节点(slave),从节点实现对主节点的复制,保证数据同步。 而哨兵(sentinel)则对各节点进行监控,主要包括主节点存活检测、主从运行情况检测等,一旦主节点 阅读全文

posted @ 2021-11-30 19:48 凝神遐想 阅读(195) 评论(0) 推荐(0) 编辑

2021年11月29日

Linux系统上搭建 Redis集群

摘要: 首先创建集群目录 [root@localhost local]# mkdir /usr/local/redis/cluster 要创建6个实例,在这个文件夹中再创建6个文件夹,进入集群目录 可以看到已经创建成功了,后面多了个data目录,这个目录是放数据的,一会讲配置文件的时候在具体的细说 [roo 阅读全文

posted @ 2021-11-29 20:56 凝神遐想 阅读(450) 评论(0) 推荐(0) 编辑

导航