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

建设银行网站官网登录短信验证那个视频网站可以做gif

建设银行网站官网登录短信验证,那个视频网站可以做gif,网站开发授权书,红色 网站redis 和 和 memcached 什么区别#xff1f;为什么高并发下有时单线程的 redis 比多线程的memcached 效率要高#xff1f; 区别#xff1a; 1.mc 可缓存图片和视频。rd 支持除 k/v 更多的数据结构; 2.rd 可以使用虚拟内存#xff0c;rd 可持久化和 aof 灾难恢复#xff0…redis 和 和 memcached 什么区别为什么高并发下有时单线程的 redis 比多线程的memcached 效率要高 区别 1.mc 可缓存图片和视频。rd 支持除 k/v 更多的数据结构; 2.rd 可以使用虚拟内存rd 可持久化和 aof 灾难恢复rd 通过主从支持数据备份; 3.rd 可以做消息队列。 原因mc 多线程模型引入了缓存一致性和锁加锁带来了性能损耗。 redis 主从复制如何实现的redis 的集群模式如何实现redis 的 的 key 是如何寻址的 主从复制实现主节点将自己内存中的数据做一份快照将快照发给从节点从节点将数 据恢复到内存中。之后再每次增加新数据的时候主节点以类似于 mysql 的二进制日志方 式将语句发送给从节点从节点拿到主节点发送过来的语句进行重放。 分片方式 客户端分片基于代理的分片 ● Twemproxy ● codis -路由查询分片 ● Redis-cluster本身提供了自动将数据分散到 Redis Cluster 不同节点的能力整个数据集 合的某个数据子集存储在哪个节点对于用户来说是透明的 redis-cluster 分片原理Cluster 中有一个 16384 长度的槽(虚拟槽)编号分别为 0-16383。 每个 Master 节点都会负责一部分的槽当有某个 key 被映射到某个 Master 负责的槽那 么这个 Master 负责为这个 key 提供服务至于哪个 Master 节点负责哪个槽可以由用户 指定也可以在初始化的时候自动生成只有 Master 才拥有槽的所有权。Master 节点维 护着一个 16384/8 字节的位序列Master 节点用 bit 来标识对于某个槽自己是否拥有。比 如对于编号为 1 的槽Master 只要判断序列的第二位索引从 0 开始是不是为 1 即可。 这种结构很容易添加或者删除节点。比如如果我想新添加个节点 D, 我需要从节点 A、B、 C 中得部分槽到 D 上。 使用 redis 如何设计分布式锁说一下实现思路使用 zk 可以吗如何实现这两种有什么区别 redis: 1.线程 A setnx(上锁的对象,超时时的时间戳 t1)如果返回 true获得锁。 2.线程 B 用 get 获取 t1,与当前时间戳比较,判断是是否超时,没超时 false,若超时执行第 3 步; 3.计算新的超时时间 t2,使用 getset 命令返回 t3(该值可能其他线程已经修改过),如果t1t3获得锁如果 t1!t3 说明锁被其他线程获取了。 4.获取锁后处理完业务逻辑再去判断锁是否超时如果没超时删除锁如果已超时不用处理防止删除其他线程的锁。 zk: 1.客户端对某个方法加锁时在 zk 上的与该方法对应的指定节点的目录下生成一个唯一的瞬时有序节点 node1; 2.客户端获取该路径下所有已经创建的子节点如果发现自己创建的 node1 的序号是最小的就认为这个客户端获得了锁。 3.如果发现 node1 不是最小的则监听比自己创建节点序号小的最大的节点进入等待。 4.获取锁后处理完逻辑删除自己创建的 node1 即可。 区别:zk 性能差一些开销大实现简单。 知道 redis 的持久化吗底层如何实现的有什么优点缺点 RDB(Redis DataBase:在不同的时间点将 redis 的数据生成的快照同步到磁盘等介质上):内存到硬盘的快照定期更新。缺点耗时耗性能(forkio 操作)易丢失数据。 AOF(Append Only File将 redis 所执行过的所有指令都记录下来在下次 redis 重启时只需要执行指令就可以了):写日志。缺点体积大恢复速度慢。 bgsave 做镜像全量持久化aof 做增量持久化。因为 bgsave 会消耗比较长的时间不够实时在停机的时候会导致大量的数据丢失需要 aof 来配合在 redis 实例重启时优先使用 aof 来恢复内存的状态如果没有 aof 日志就会使用 rdb 文件来恢复。Redis 会定期做aof 重写压缩 aof 文件日志大小。Redis4.0 之后有了混合持久化的功能将 bgsave 的全量和 aof 的增量做了融合处理这样既保证了恢复的效率又兼顾了数据的安全性。bgsave 的原理fork 和 cow, fork 是指 redis 通过创建子进程来进行 bgsave 操作cow 指的是 copy onwrite子进程创建后父子进程共享数据段父进程继续提供读写服务写脏的页面数据会逐渐和子进程分离开来。 redis 过期策略都有哪些LRU 算法知道吗写一下 java 代码实现 过期策略: 定时过期(一 key 一定时器)惰性过期只有使用 key 时才判断 key 是否已过期过期则清除。定期过期前两者折中。 LRU:new LinkedHashMapK, V(capacity, DEFAULT_LOAD_FACTORY, true); //第三个参数置为 true代表 linkedlist 按访问顺序排序可作为 LRU 缓存设为 false 代表按插入顺序排序可作为 FIFO 缓存 LRU 算法实现1.通过双向链表来实现新数据插入到链表头部2.每当缓存命中即缓存数据被访问则将数据移到链表头部3.当链表满的时候将链表尾部的数据丢弃。 LinkedHashMapHashMap 和双向链表合二为一即是 LinkedHashMap。HashMap 是无序的LinkedHashMap 通过维护一个额外的双向链表保证了迭代顺序。该迭代顺序可以是插入顺序默认也可以是访问顺序。 缓存穿透、缓存击穿、缓存雪崩解决方案 缓存穿透指查询一个一定不存在的数据如果从存储层查不到数据则不写入缓存这将导致这个不存在的数据每次请求都要到 DB 去查询可能导致 DB 挂掉。 解决方案1.查询返回的数据为空仍把这个空结果进行缓存但过期时间会比较短2.布隆过滤器将所有可能存在的数据哈希到一个足够大的 bitmap 中一个一定不存在的数据会被这个 bitmap 拦截掉从而避免了对 DB 的查询。 缓存击穿对于设置了过期时间的 key缓存在某个时间点过期的时候恰好这时间点对这个 Key 有大量的并发请求过来这些请求发现缓存过期一般都会从后端 DB 加载数据并回设到缓存这个时候大并发的请求可能会瞬间把 DB 压垮。 解决方案1.使用互斥锁当缓存失效时不立即去 load db先使用如 Redis 的 setnx 去设置一个互斥锁当操作成功返回时再进行 load db 的操作并回设缓存否则重试 get 缓存的方法。2.永远不过期物理不过期但逻辑过期后台异步线程去刷新。 缓存雪崩设置缓存时采用了相同的过期时间导致缓存在某一时刻同时失效请求全部转发到 DBDB 瞬时压力过重雪崩。与缓存击穿的区别雪崩是很多 key击穿是某一个key 缓存。 解决方案将缓存失效时间分散开比如可以在原有的失效时间基础上增加一个随机值比如 1-5 分钟随机这样每一个缓存的过期时间的重复率就会降低就很难引发集体失效的事件。 在选择缓存时什么时候选择 redis 什么时候选择 memcached 选择 redis 的情况 1、复杂数据结构value 的数据是哈希列表集合有序集合等这种情况下会选择redis, 因为 memcache 无法满足这些数据结构最典型的的使用场景是用户订单列表用户消息帖子评论等。 2、需要进行数据的持久化功能但是注意不要把 redis 当成数据库使用如果 redis挂了内存能够快速恢复热数据不会将压力瞬间压在数据库上没有 cache 预热的过程。对于只读和数据一致性要求不高的场景可以采用持久化存储 3、高可用redis 支持集群可以实现主动复制读写分离而对于 memcache 如果想要实现高可用需要进行二次开发。 4、存储的内容比较大memcache 存储的 value 最大为 1M。 选择 memcache 的场景 1、纯 KV,数据量非常大的业务使用 memcache 更合适原因是 a)memcache 的内存分配采用的是预分配内存池的管理方式能够省去内存分配的时间redis 是临时申请空间可能导致碎片化。 b)虚拟内存使用memcache 将所有的数据存储在物理内存里redis 有自己的 vm 机制理论上能够存储比物理内存更多的数据当数据超量时引发 swap,把冷数据刷新到磁盘上从这点上数据量大时memcache 更快 c)网络模型memcache 使用非阻塞的 IO 复用模型redis 也是使用非阻塞的 IO 复用模型但是 redis 还提供了一些非 KV 存储之外的排序聚合功能复杂的 CPU 计算会阻塞整个 IO 调度从这点上由于 redis 提供的功能较多memcache 更快些 d) 线程模型memcache 使用多线程主线程监听worker 子线程接受请求执行读写这个过程可能存在锁冲突。redis 使用的单线程虽然无锁冲突但是难以利用多核的特性提升吞吐量。 缓存与数据库不一致怎么办 假设采用的主存分离读写分离的数据库如果一个线程 A 先删除缓存数据然后将数据写入到主库当中这个时候主库和从库同步没有完成线程 B 从缓存当中读取数据失败从从库当中读取到旧数据然后更新至缓存这个时候缓存当中的就是旧的数据。发生上述不一致的原因在于主从库数据不一致问题加入了缓存之后主从不一致的时间被拉长了 处理思路在从库有数据更新之后将缓存当中的数据也同时进行更新即当从库发生了数据更新之后向缓存发出删除淘汰这段时间写入的旧数据。 主从数据库不一致如何解决 场景描述对于主从库读写分离如果主从库更新同步有时差就会导致主从库数据的不一致 1、忽略这个数据不一致在数据一致性要求不高的业务下未必需要时时一致性 2、强制读主库使用一个高可用的主库数据库读写都在主库添加一个缓存提升数据读取的性能。 3、选择性读主库添加一个缓存用来记录必须读主库的数据将哪个库哪个表哪个主键作为缓存的 key,设置缓存失效的时间为主从库同步的时间如果缓存当中有这个数据直接读取主库如果缓存当中没有这个主键就到对应的从库中读取。 Redis 常见的性能问题和解决方案 1、master 最好不要做持久化工作如 RDB 内存快照和 AOF 日志文件 2、如果数据比较重要某个 slave 开启 AOF 备份策略设置成每秒同步一次 3、为了主从复制的速度和连接的稳定性master 和 Slave 最好在一个局域网内 4、尽量避免在压力大得主库上增加从库 5、主从复制不要采用网状结构尽量是线性结构Master–Slave1----Slave2 … Redis 的数据淘汰策略有哪些 voltile-lru 从已经设置过期时间的数据集中挑选最近最少使用的数据淘汰 voltile-ttl 从已经设置过期时间的数据库集当中挑选将要过期的数据 voltile-random 从已经设置过期时间的数据集任意选择淘汰数据 allkeys-lru 从数据集中挑选最近最少使用的数据淘汰 allkeys-random 从数据集中任意选择淘汰的数据 no-eviction 禁止驱逐数据 Redis 当中有哪些数据结构 字符串 String、字典 Hash、列表 List、集合 Set、有序集合 SortedSet。如果是高级用户那么还会有如果你是 Redis 中高级用户还需要加上下面几种数据结构 HyperLogLog、Geo、Pub/Sub。 假如 Redis 里面有 1 亿个 key 其中有 10w 个 个 key 是以某个固定的已知的前缀开头的如果将它们全部找出来 使用 keys 指令可以扫出指定模式的 key 列表。 对方接着追问如果这个 redis 正在给线上的业务提供服务那使用 keys 指令会有什么问题 这个时候你要回答 redis 关键的一个特性redis 的单线程的。keys 指令会导致线程阻塞一段时间线上服务会停顿直到指令执行完毕服务才能恢复。这个时候可以使用 scan 指令scan 指令可以无阻塞的提取出指定模式的 key 列表但是会有一定的重复概率在客户端做一次去重就可以了但是整体所花费的时间会比直接用 keys 指令长。 使用 Redis 做过异步队列吗是如何实现的 使用 list 类型保存数据信息rpush 生产消息lpop 消费消息当 lpop 没有消息时可以 sleep 一段时间然后再检查有没有信息如果不想 sleep 的话可以使用 blpop, 在没有信息的时候会一直阻塞直到信息的到来。redis 可以通过 pub/sub 主题订阅模式实现一个生产者多个消费者当然也存在一定的缺点当消费者下线时生产的消息会丢失。 Redis 如何实现延时队列 使用 sortedset使用时间戳做 score, 消息内容作为 key,调用 zadd 来生产消息消费者使用 zrangbyscore 获取 n 秒之前的数据做轮询处理。
http://www.hkea.cn/news/14408519/

相关文章:

  • 哪些网站可以兼职做设计wordpress ftp 插件
  • wordpress整站搬运一个服务器可以放多少个网站
  • 建手机版网站杭州推广平台有哪些
  • 网站建设合同封面模板下载关键词怎样做优化排名
  • 最新的新开传奇网站上海协策网站
  • 咋创建自己的网站兰州免费网站建设
  • 青岛做网站大公司有哪些wordpress秒开
  • 太原市建设北路小学网站wordpress 压缩包
  • 松江建设新城有限公司网站百度知道灰色词代发收录
  • 一站式网站建设电话网站更改域名没有变更备案
  • 网站建设要学哪些软件有哪些如何用dw制作网页框架
  • 佛山移动网站建设公司国内免备案云主机
  • 网站如何防止攻击如何建立网上授课平台
  • 西安网站定制开发网络推广培训课程4万
  • seo外链网站大全广州市天河区建设局官方网站
  • 怎么编写网站云南工程建设信息网官网
  • 做网站用什么字体最明显网页设计与网站建设作业
  • etw做的网站合肥小程序设计
  • html5 手机网站 模版用wordpress建立学校网站吗
  • 网站的惩罚期要怎么做湖北seo优化诊断
  • 品牌网站建设968免费职业技能培训网
  • 雨花区区网站建设公司wordpress保存远程图片大小
  • 零基础学pytho 网站开发wordpress添加附件下载
  • 站外推广6种方法东莞 科技 公司 网站建设
  • 汇算清缴在哪个网站做宁波网页设计机构
  • 做网站属于什么工作免费网站建站模块
  • 目前网站开发主要有哪些工具黄骅港邮编号是多少
  • 北京seo网站管理站长工具欧美高清
  • 搜狐快站做网站教程北太平桥网站建设
  • 南昌定制网站开发费用wordpress首页链接哪里设置