
redis
文章平均质量分 86
redis
zuishengmengsi1990
这个作者很懒,什么都没留下…
展开
-
12.Redis最佳实践
这篇文章我想和你聊一聊 Redis 的最佳实践。你的项目或许已经使用 Redis 很长时间了,但在使用过程中,你可能还会或多或少地遇到以下问题: 我的 Redis 内存为什么增长这么快? 为什么我的 Redis 操作延迟变大了? 如何降低 Redis 故障发生的频率? 日常运维 Redis 需要注意什么? 部署 Redis 时,如何做好资源规划? Redis 监控重点要关注哪些指标? 尤其是当你的项目越来越依赖 Redis 时,这些问题就变得尤转载 2021-09-09 16:42:02 · 372 阅读 · 0 评论 -
11.Redis图解
原创 2021-09-09 16:38:24 · 135 阅读 · 0 评论 -
10.Redis Cluster
Redis Cluster是Redis官方提供的Redis集群功能1.为什么要实现Redis Cluster1.主从复制不能实现高可用2.随着公司发展,用户数量增多,并发越来越多,业务需要更高的QPS,而主从复制中单机的QPS可能无法满足业务需求3.数据量的考虑,现有服务器内存不能满足业务数据的需要时,单纯向服务器添加内存不能达到要求,此时需要考虑分布式需求,把数据分布到不同服务器上4.网络流量需求:业务的流量已经超过服务器的网卡的上限值,可以考虑使用分布式来进行分流5.离线计算,需要中间转载 2021-09-08 19:29:11 · 240 阅读 · 0 评论 -
9.Redis Sentinel
er 0sentinel leader-epoch mymaster 0logfile "/var/log/redis/sentinel_26379.log"daemonize yessentinel known-slave mymaster 192.168.81.101 6379 # sentinel探测到的slavesentinel known-slave mymaster 192.168.81.100 6380 # sentinel探测到的slave.转载 2021-09-08 19:27:45 · 281 阅读 · 0 评论 -
8.Redis主从复制
1.1 Redis单机的问题1.1.1 机器故障在一台服务器上部署一个Redis节点,如果机器发生主板损坏,硬盘损坏等问题,不能在短时间修复完成,就不能处理Redis操作了,这就是单机可能存在的问题同样的,服务器正常运行,但是Redis主进程发生宕机事件,此时只需要重启Redis就可以了。如果不考虑在Redis重启期间的性能损失,可以考虑Redis的单机部署Redis单机部署出现故障时,把Redis迁移到另一台服务器上,此时需要把发生故障的Redis中的数据同步到新部署的Redis节点,这也转载 2021-09-08 19:26:20 · 400 阅读 · 0 评论 -
7.Bitmap简介
1. BitMapBit-map的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。(PS:划重点节省存储空间)假设有这样一个需求:在20亿个随机整数中找出某个数m是否存在其中,并假设32位操作系统,4G内存在Java中,int占4字节,1字节=8位(1 byte = 8 bit)如果每个数字用int存储,那就是20亿个int,因而占用的空间约为 (2000000000*4/1024/102...转载 2021-09-08 17:13:02 · 321 阅读 · 0 评论 -
6.布隆过滤器
什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你“某样东西一定不存在或者可能存在”。相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。实现原理HashMap 的问题讲述布隆过滤器的原理之前,我们先思考一下,通常你判断某个元素是否存在用的是什么?应该蛮多人回答 HashMap 吧,确实可以将值.转载 2021-09-08 17:13:36 · 103 阅读 · 0 评论 -
5.Redis分布式锁
这篇文章我想和你聊一聊,关于 Redis 分布式锁的「安全性」问题。Redis 分布式锁的话题,很多文章已经写烂了,我为什么还要写这篇文章呢?因为我发现网上 99% 的文章,并没有把这个问题真正讲清楚。导致很多读者看了很多文章,依旧云里雾里。例如下面这些问题,你能清晰地回答上来吗? 基于 Redis 如何实现一个分布式锁? Redis 分布式锁真的安全吗? Redis 的 Redlock 有什么问题?一定安全吗? 业界争论 Redlock,到底在争论什么?哪种观点转载 2021-09-08 10:36:34 · 228 阅读 · 0 评论 -
4.Redis过期策略及内存淘汰机制
一、Redis的过期策略Redis在设置缓存数据时指定了过期时间,到了过期时间数据就失效了,那Redis是怎么处理这些失效的数据的呢?这就用到了Redis的过期策略——"定期删除+惰性删除" 。1、定期删除定期删除是指Redis默认每隔 100ms 就 随机抽取 一些设置了过期时间的key,检测这些key是否过期,如果过期了就将其删除。※ 100ms怎么来的?在Redis的配置文件redis.conf中有一个属性"hz",默认为10,表示1s执行10次定期删除,即每隔100ms执行一次,可以转载 2021-09-07 20:22:20 · 130 阅读 · 0 评论 -
3.Redis持久化
一、持久化的作用1. 什么是持久化持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。2. 持久化的实现方式快照方式持久化快照方式持久化就是在某时刻把所有数据进行完整备份。例:Mysql的Dump方式、Redis的RDB方式。写日志方式持久化写日志方式持久化就是把用户执行的所有写指令(增删改)备份到文件中,还原数据时只需要把备份的所有指令重新执行一遍即转载 2021-09-07 20:06:54 · 159 阅读 · 0 评论 -
2.数据库和缓存双写一致性问题
为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构本文由以下三个部分组成1、讲解缓存更新策略2、对每种策略进行缺点分析3、针对缺点给出改进方案正文先做.转载 2021-09-07 19:00:19 · 157 阅读 · 0 评论 -
1.Redis缓存击穿、缓存雪崩、缓存穿透
缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没有采用什么特别的方案来处理这个故障,DBA 很着急,重启数据库,但是数据库立马又被新的流量给打死了。这就是缓存雪崩。大约在 3 年前,国内比较知名的一个互联网公司,曾因为缓存事故,导致雪崩,后台系统全部崩溃,事故从当天下午持续到晚上凌晨 3~4转载 2021-09-07 10:52:22 · 97 阅读 · 0 评论