
redis
方明驹
这个作者很懒,什么都没留下…
展开
-
redis分布式锁
常用的redis分布式锁实现方式以上方式可能会出现一些问题:在高并发的情况下,每个线程的执行顺序是不可预估的,当前线程抢占的锁可能被其它的锁给释放掉,应将上述代码修改成如下:以上方案还是会出现一些问题,比如锁失效时间不好把握,所以我们还要继续优化,一般一线大厂他们后台会启动一个异步线程去监控这个key是否存在,如果存在则会延长失效时间使用redisson:三行代码实现锁:原理:底层是通过lua脚本语言实现:redis是满足AP的,保证可用性,但是不原创 2020-10-04 13:32:24 · 182 阅读 · 0 评论 -
redis架构介绍
redis速度快的原因基于内存单线程:worker线程是单线程(工作线程) 但是io线程(读写线程)是多个基于NIO的多路复用器,在linux系统中是采用epoll形式redis通信:1:epoll不会拉取数据,只会告诉你哪个节点有数据传输,然后把信息告诉给worker线程2:由woker线程去内核中读取对应的客户端传输的数据3:把数据取回到内存进行计算(set get等操作)redis串行化redis是单线程的,所以在并发情况下不需要加锁,它是通过工作线程进行轮原创 2020-09-13 18:23:03 · 310 阅读 · 0 评论 -
redis缓存穿透及解决方案
redis常用业务场景如何解决缓存穿透带来的问题如果是多次查询相同不存在的值,可以将该空值也给添加至redis中,并且给失效时间,因为防止后面该条数据会有更新。问题:如何在海量数据(例如10亿无序,不定长,不重复)快速判断某一元素是否存在?分析思路:首先,10亿条数据肯定不能直接去mysql,因为mysql数据是在磁盘上,会很慢。能否直接放到redis???也不可以,因为如果全放到redis,就无法保证redis和mysql的数据一致性。所以我们必须要有个存.原创 2020-07-29 17:33:18 · 211 阅读 · 0 评论 -
redis持久化数据
RDB和AOF两种持久化机制的介绍rdb持久化机制:对redis数据周期性持久化AOF持久化机制:是对每条命令作为日志,以append-only模式写到日志文件中在redis重启的时候,可以通过回放AOF日志中的写入指令来重新构建整个数据集如果我们想要redis仅仅作为纯内存的缓存来用,那么可以禁止RDB和AOF所有的持久化机制如果同时使用RDB和AOF两种持久化机制,那么在redis重启...原创 2019-10-20 15:36:45 · 207 阅读 · 0 评论 -
redis哨兵机制搭建
redis哨兵机制搭建cp redis.conf redis6380.conf修改redis6380配置:slaveof 127.0.0.1 6379 //使6380作为6379从服务器配置哨兵:修改redis-sentinel.conf文件:port 26379sentinel monitor mymaster 127.0.0.1 6379 1启动主从服务器redis-s...原创 2019-03-31 20:25:37 · 111 阅读 · 0 评论