当前位置: 首页 > news >正文

广州网站建设联雅赚钱的游戏软件一天赚200元

广州网站建设联雅,赚钱的游戏软件一天赚200元,邢台123生活信息,电商公司官网Redis的使用场景 根据自己简历上的业务进行回答 缓存 穿透、击穿、雪崩、双写一致、持久化、数据过期、淘汰策略 分布式锁 setnx redisson 缓存穿透#xff1a;查询一个不存在的数据#xff0c;数据库查不到数据也不会直接写入缓存#xff0c;就会导致每次请求都查询数据库…Redis的使用场景 根据自己简历上的业务进行回答 缓存 穿透、击穿、雪崩、双写一致、持久化、数据过期、淘汰策略 分布式锁 setnx redisson 缓存穿透查询一个不存在的数据数据库查不到数据也不会直接写入缓存就会导致每次请求都查询数据库一般都是恶意攻击。 解决方案1、缓存不存在的数据这会消耗内存 2、使用布隆过滤器redis中的一种数据结构 bitmap 位图结构对它先进行预热多次hash算法当key不存在一定不存在当key存在可能不存在会存在一定的误判误判率可以设置为5%。 缓存击穿当缓存中的key刚好过期恰好这时间对这个key有大量的并发请求过来这些请求可能会瞬间把DB压垮。 解决方案1、互斥锁强一致性性能差 2、对热点数据不设置过期时间 缓存雪崩同一时段大量的缓存key同时失效或者Redis宕机导致大量请求到数据库。 解决方案1、给不同的Key的过期时间添加随机值 2、利用Redis集群提高服务的可用性 3、给缓存业务添加降级限流策略 双写一致针对高并发 解决方案1、强一致性可以采用redisson读写锁来保证数据的同步在读的时候添加读锁可以保证读读不互斥读写互斥。当更新数据的时候添加排它锁读读和读写都互斥。 2、最终一致性可以采用MQ中间件更新数据之后通知缓存删除 持久化 1、RDB一个快照文件bgsave的命令通过fork一个子进程把内存存储的数据写到磁盘上采用copy on write 的策略不影响主线程的写操作避免了子线程无意义的复制。 2、AOF: 追加文件当redis操作写命令时都会存储在这个文件中。 哪种方式恢复比较快 RDB因为是二进制文件保存的体积比较小恢复速度比较快但它有可能丢失数据。 AOF虽然恢复的速度慢一些但是它丢数据的风险要小很多在设置刷盘策略可以设置每秒批量写入一次命令 Redis过期删除策略 惰性删除设置该key过期时间后不去管它当需要该key时会检查是否过期如果过期就删掉它反之返回该key 优点对CPU友好只有使用才检查key是否过期。 缺点对内存不友好过期的key一直没有使用会一直存在内存中 定期删除每隔一段时间对key进行检查删除里面过期的key抽取一定数量的key进行检查并删除其中的key SLOW模式和FAST模式 优点有效释放的过期key占用的内存 缺点 难以确定删除操作执行的时长和频率 过期删除策略惰性删除 定期删除两种策略配合使用 淘汰策略 数据的淘汰策略:当Redis中的内存不够用时此时在向Redis中添加新的key那么Redis就会按照某一种规则将内存中的数据删除掉这种数据的删除规则被称之为内存的淘汰策略。 Redis支持8种不同策略来选择要删除的key: noeviction: 不淘汰任何key但是内存满时不允许写入新数据默认就是这种策略volatile-ttl: 对设置了TTL的key比较key的剩余TTL值TTL越小越先被淘汰 allkeys-random:对全体key 随机进行淘汰。 volatile-random:对设置了TTL的key 随机进行淘汰。 allkeys-lru: 对全体key基于LRU算法进行淘汰 volatile-lru:对设置了TTL的key基于LRU算法进行淘汰 allkeys-lfu: 对全体key基于LFU算法进行淘汰 volatile-lfu:对设置了TTL的key基于LFU算法进行淘汰 LRU (Least Recently Used) 最近最少使用。用当前时间减去最后一次访问时间这个值越大则淘汰优先级越高。 LFU(Least Frequently Used) 最少频率使用。会统计每个key的方问频率值越小淘汰优先级越高。 分布式锁 使用场景定时任务、抢单、幂等性场景 如何实现 在redis中提供了一个命令setnx(SET if not exists) 由于redis是单线程的用了命令之后只有一个客户端对某一个key设置值在没有过期或删除key的时候其它客户端是不能设置这个key的。 如何控制Redis实现分布式锁有效时长 采用框架redisson实现的。 在redisson中需要手动加锁并且可以控制锁的失效时间和等待时间当锁住的一个业务还没有执行完成的时候在redisson中引入了一个看门狗机制就是说每隔一段时间就检查当前业务是否还持有锁如果持有就增加加锁的持有时间当业务执行完成之后需要使用释放锁就可以了。 还有一个好处就是在高并发下一个业务有可能会执行很快先客户1持有锁的时候客户2来了以后并不会马上拒绝它会自选不断尝试获取锁如果客户1释放之后客户2就可以马上持有锁性能也得到了提升。 redisson实现的分布式锁是可重入的吗? 是可以重入的。这样做是为了避免死锁的产生。这个重入其实在内部就是判断是否是当前线程持有的锁如果是当前线程持有的锁就会计数如果释放锁就会在计算上减一。在存储数据的时候采用的hash结构大key可以按照自己的业务进行定制其中小key是当前线程的唯一标识value是当前线程重入的次数。 redisson实现的分布式锁能解决主从一致性的问题吗 不能解决但是可以使用redisson提供的红锁来解决但是这样的话性能就太低了如果业务中非要保证数据的强一致性建议采用zookeeper实现的分布式锁。 Redis集群有哪些方案 主从复制 master 写操作slave 读操作读写分离。 主从数据同步原理 主从全量同步 1.从节点请求主节点同步数据(replication id、 offset) 2.主节点判断是否是第一次请求是第一次就与从节点同步版本信息 (replication id和offset) 3.主节点执行bgsave生成rdb文件后发送给从节点去执行 4.在rdb生成执行期间主节点会以命令的方式记录到缓冲区(一个日志文件) 5.把生成之后的命令日志文件发送给从节点进行同步 主从增量同步 1.从节点请求主节点同步数据主节点判断不是第一次请求不是第一次就获取从节点的offset值 2.主节点从命令日志中获取offset值之后的数据发送给从节点进行数据同步 哨兵模式 保证Redis的高并发高可用 实现主从集群的自动故障恢复(监控、自动故障恢复、通知) 你们使用redis是单点还是集群哪种集群 主从(1主1从)哨兵就可以了。单节点不超过10G内存如果Redis内存不足则可以给不同服务分配独立的Redis主从节点。 redis集群脑裂该怎么解决呢? 集群脑裂是由于主节点和从节点和sentinel处于不同的网络分区使得sentinel没有能够心跳感知到主节点所以通过选举的方式提升了一个从节点为主这样就存在了两个master就像大脑分裂了一样这样会导致客户端还在老的主节点那里写入数据新节点无法同步数据当网络恢复后sentinel会将老的主节点降为从节点这时再从新master同步数据就会导致数据丢失。 解决:我们可以修改redis的配置可以设置最少的从节点数量以及缩短主从数据同步的延迟时间达不到要求就拒绝请求就可以避免大量的数据丢失。 分片集群 有什么作用 集群中有多个master每个master保存不同数据 每个master都可以有多个slave节点 master之间通过ping监测彼此健康状态 客户端请求可以访问集群任意节点最终都会被转发到正确节点 Redis分片集群中数据是怎么存储和读取的? Redis分片集群引入了哈希槽的概念Redis 集群有16384个哈希槽 将16384个插槽分配到不同的实例 读写数据:根据key的有效部分计算哈希值对16384取余(有效部分如果key前面有大括号大括号的内容就是有效部分如果没有则以key本身做为有效部分)余数做为插槽寻找插槽所在的实例 Redis是单线程的但是为什么还那么快 Redis是纯内存操作执行速度非常快 采用单线程避免不必要的上下文切换可竞争条件多线程还要考虑线程安全问题 使用I/0多路复用模型非阴塞IO 能解释一下I/O多路复用模型? 1.I/0多路复用 是指利用单个线程来同时监听多个Socket并在某个Socket可读、可写时得到通知从而避免无效的等待充分利用CPU资源。目前的/0多路复用都是采用的epoll模式实现它会在通知用户进程Socket就绪的同时把已就绪的Socket写入用户空间不需要挨个遍历Socket来判断是否就绪提升了性能。 2.Redis网络模型 就是使用I/O多路复用结合事件的处理器来应对多个Socket请求 连接应答处理器 命令回复处理器在Redis6.0之后为了提升更好的性能使用了多线程来处理回复事件 命令请求处理器在Redis6.0之后将命令的转换使用了多线程增加命令转换速度在命令执行的时候依然是单线程
http://www.laogonggong.com/news/130944.html

相关文章:

  • 电商网站制作项目描述做设计用哪个素材网站
  • 深圳住房和建设局网站咨询窗口试看30秒做受小视频网站
  • 湛江制作公司网站广州手机网站建设报价
  • 网站做多个页面建立公司网站需要多少钱
  • 网站建设公司推荐金石下拉网络动漫网页设计作业
  • 中企动力中山分公司网站什么是网销
  • 网站建设初验申请表骨干校建设验收网站
  • 找做网站的人在线制作网站的工具
  • 电商网站对比 京东商城 淘宝网 阿里巴巴创建网站的六个步骤
  • 心悦每周免做卡网站wordpress设计漂亮的页面
  • 网站界面设计分析自己做的网站403
  • 汉阳网站推广优化公司域名备案怎么弄
  • 自己做网站赚钱案例请叫我鬼差大人王烨
  • 模板式网站建设北京做网站公司哪家强
  • 贵州微信网站建设义乌厂家直接免费外发手工活
  • 作品展示html5网站模板wordpress发帖时间
  • 宜昌市建设监理协会网站做网站企业的发展前景
  • 做网站必须用tomcat希尔顿酒店网站建设的优点
  • 网站怎么销售wordpress数据库乱码
  • 自己做的网站如何让别的网可以查看做网站 乐清
  • 个人网站建设规划表创业做电商需要多少钱
  • 嵊州建设局网站wordpress换主题报错
  • 免费网站建设培训学校河南企业网站优化外包
  • 澄海区建设局网站游戏开发和软件开发哪个难
  • 网站建设 经营范围创建网站投资多少
  • wordpress的使用视屏青岛关键词优化seo
  • 网站原创文章在哪里找广西网站建设建议
  • 网站制作教程:初学者wordpress标签拼音
  • 凡科网免费网站域名注册代刷网站开发
  • 如何查看网站蜘蛛网站虚拟空间过期