redis笔记
文章平均质量分 55
rrrrrrr
Kaaaakaki
这个作者很懒,什么都没留下…
展开
-
redis线程模型:基于Reactor设计模式
Reactor模式详解+源码实现多种IO模型 也收藏了主要容易混淆的就是1.非阻塞IO 和 多路复用IO : 非阻塞IO是用户线程不断去轮询内核操作完成没有多路复用IO是另起一个线程去轮询 在内核完成的 更快多路复用IO为何比非阻塞IO模型的效率高是因为在非阻塞IO中,不断地询问socket状态时通过用户线程去进行的,而在多路复用IO中,轮询每个socket状态是内核在进行的,这个效率要比用户线程要高的多。2.非阻塞IO和 异步IO : 就是异步IO根本不用轮询 发起一个操作就不用管原创 2022-01-19 15:13:27 · 657 阅读 · 0 评论 -
reids过期键删除的策略-惰性删除 定期删除
反正就是主动删 就是对数据进行额外的处理 占用CPU的时间 对性能响应时间 吞吐量会有影响不主动删 等到查数据再看键过没过期 就是不用进行额外处理 但是过期的键没有及时删除 占内存 浪费内存反正就是都有优缺点Redis的过期删除策略就是:惰性删除和定期删除两种策略配合使用。惰性删除:惰性删除不会去主动删除数据,而是在访问数据的时候,再检查当前键值是否过期,如果过期则执行删除并返回 null 给客户端,如果没有过期则返回正常信息给客户端。它的优点是简单,不需要对过期的数据做额外的处理,只有在每原创 2022-01-19 11:15:07 · 2087 阅读 · 1 评论 -
redis的单线程多路IO复用原理 epoll
看看收藏在redis里的https://segmentfault.com/a/1190000021985202 这篇讲了多种IO模型 图也比较丰富我记得之前收藏了一个用通俗的买票例子来解释 epoll poll select的三种特殊的数据类型: 这三种数据结构的使用示例搜一下 常用命令搜一下1、Bitmap:位图,Bitmap想象成一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在Bitmap中叫做偏移量。使用Bitmap实现统计功能,更省空间。如果只需要统计数据的二值原创 2022-01-19 11:11:51 · 676 阅读 · 0 评论 -
Redis7——穿透 击穿 雪崩 及 分布式锁
文章目录1 穿透2 击穿3 雪崩分布式锁基于redis的分布式锁分布式电商也讲了这三种1 穿透就是查根本不存在的数据 一直访问数据库 一直查不到 因为查不到数据 不能放入缓存 所以大量请求都直接到了数据库redis命中率低解决 :查不到的数据也放入缓存 null表示2 击穿击穿就是一个热点数据的缓存失效 大量请求到了数据库3 雪崩雪崩就是大面积的缓存集中失效解决: 过期时间随机 让过期时间分散开分布式锁基于redis的分布式锁分布式电商里面原创 2021-12-17 09:53:49 · 1455 阅读 · 0 评论 -
Redis6——集群
容量不够 进行扩容应对并发写操作去中心化集群配置 意思就是每一台服务器都可以作为集群的入口 服务器之间相互连通搭建redis集群demo集群配置 需要再各自的redis.conf中配置linux 替换文件中所有的6379为6380配置文件改好后 启动他们准备将这多个合为一个集群在放redis的目录的src下执行下面这个命令 一开始不是下载了redis的zip压缩文件嘛 又解压了 就在解压那里面的src下执行命令需要在src下 是因为我们需要ruby环境–clust原创 2021-12-16 16:42:12 · 935 阅读 · 0 评论 -
Redis1——基本数据结构
分布式session共享问题 : 在集群环境 第一次访问了A服务器 保持了登录信息到session在A服务器 如果我再发下一个请求被分到了B服务器 B服务器上没有登录信息的session 那他就会提示用户未登录 方法3就是把session放在nosql数据库redis里 这样请求到服务器 服务器可以先去nosql看有没有session 登录没有 因为是内存数据库 获取相当快memcached与redis区别: memcached串行 多线程加锁 red原创 2021-12-16 15:08:19 · 372 阅读 · 0 评论 -
Redis5——主从复制
只能有一个主服务器 为了避免主服务器挂掉 可以用集群他先复制生成了多个端口不同的redis,conf 然后 redis-server 这些 redis.conf 启动了多个reidsredis-cli -p 6380 可以按端口号来连接redisinfo replication 可以查看当前redis的主从信息模拟搭建主从mkdir /myrediscp /etc/redis.conf /myredis/redis.confcd /myredisc.原创 2021-12-16 15:07:26 · 742 阅读 · 0 评论 -
Redis2——Jedis 通过java来操作redis
Jedis 通过java来操作redis建个maven工程引入jedis的依赖Jedis jedis = new Jedis("ip",6379);String s = jedis.ping();想要链接虚拟机中linux系统中的redis 需要先修改redis的配置文件 bind ip这一行注释掉 再把protect mode 保护模式改为no然后还要关闭 linux的防火墙查看linux的防火墙 如果是active状态 就关闭systemctl status fir原创 2021-12-16 14:16:03 · 957 阅读 · 0 评论 -
Redis4——事务和锁机制、持久化
文章目录重启redis事务锁机制乐观锁 悲观锁CAS操作与ABA问题秒杀全是问题持久化RDB重启redisps -ef | grep redis 找redis的进程号kill -9 进程号启动redis-server /etc/redis.conf事务Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化,按顺序执行,事务在执行的过程中,不会被其他客户端发送来的命令请求打断。redis事务主要作用 串联多个命令防止别的命令插队exec之后 事务就结束了原创 2021-12-16 11:05:22 · 1238 阅读 · 0 评论