
redis
文章平均质量分 60
程序员小猪。
这个作者很懒,什么都没留下…
展开
-
Redis-异步消息队列与延时队列
异步消息队列说道消息队列,你肯定会想到Kafka、Rabbitmq等消息中间件,这些专业的消息中间件提供了很多功能特性,当然他的部署使用维护都是比较麻烦的。如果你对消息队列没那么高要求,想要轻量级的,使用Redis就没错啦。Redis通过list数据结构来实现消息队列.主要使用到如下命令:lpush和rpush入队列lpop和rpop出队列blpop和brpop阻塞式出队列[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aJp9z9Nw-161470557634原创 2021-03-03 01:20:34 · 736 阅读 · 0 评论 -
Redis-分布式锁
当多个进程不在同一个系统中,就需要用分布式锁控制多个进程对资源的访问。使用redis来实现分布式锁主要用到以下命令:SETNX KEY VALUE如果key不存在,就设置key对应字符串valueexpire KEY seconds设置key的过期时间del KEY删除key代码实现如下:$redis = new Redis();$redis->connect('127.0.0.1', 6379);$ok = $redis->setNX($key, $value);if (原创 2021-03-03 00:02:48 · 197 阅读 · 0 评论 -
缓存穿透,缓存击穿,缓存雪崩解决方案分析
前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存的数据,由于缓存是不命中的时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能 DB 就挂掉,要是有人利用不存在的 key 频繁公交我们的应用,这就是漏洞。解决方案有很多种方法可以有效的解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的 bitma原创 2020-08-07 15:17:23 · 639 阅读 · 0 评论 -
【经典面试题】七大缓存经典问题
1.缓存失效原因分析在写缓存时,我们一般会根据业务的访问特点,给每种业务数据预置一个过期时间,在写缓存时把这个过期时间带上,让缓存数据在这个固定的过期时间后被淘汰。一般情况下,因为缓存数据是逐步写入的,所以也是逐步过期被淘汰的。但在某些场景,一大批数据会被系统主动或被动从 DB 批量加载,然后写入缓存。这些数据写入缓存时,由于使用相同的过期时间,在经历这个过期时间之后,这批数据就会一起到期,从而被缓存淘汰。此时,对这批数据的所有请求,都会出现缓存失效,从而都穿透到 DB,DB 由于查询量太大,就很容原创 2020-07-12 12:56:59 · 1969 阅读 · 0 评论 -
Mac brew安装redis
1、安装redis$ brew install redisError:Failed to download resource “reds” // 下载reds失败不过不需要担心,brew会已经从其它地方下载并正确安装了配置文件路径: /usr/local/etc/redis.conf2、启动redis(可选)$ redis-server3、添加至开机启动项(可选)$ ln -f /usr/local/Cellar/redis/2.8.13/homebrew.mxcl.redis.pl原创 2020-07-10 16:35:37 · 691 阅读 · 0 评论