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

建设银行交学费网站网站建设有什么形式

建设银行交学费网站,网站建设有什么形式,洛阳外贸网站推广,wordpress插件检测seo是否合理相关问题#xff1a; 1.为什么Redis能够如此快速地进行数据存储和检索#xff1f; 2.Redis作为内存数据库,其内存存储有什么优势吗? 3.Redis的网络模型有何特点,如何帮助提升性能? 一、问题回答 Redis使用了内存数据结构#xff0c;例如字符串、哈希表、列表、集合、有…相关问题 1.为什么Redis能够如此快速地进行数据存储和检索 2.Redis作为内存数据库,其内存存储有什么优势吗? 3.Redis的网络模型有何特点,如何帮助提升性能? 一、问题回答 Redis使用了内存数据结构例如字符串、哈希表、列表、集合、有序集合等这些数据结构在内存中操作速度很快有助于Redis的高性能。 Redis采用单线程模型避免了多线程的线程切换和同步开销提高了处理速度。 Redis使用了非阻塞I/O可以在一个线程中处理多个客户端请求提高了并发处理能力。 Redis支持多种持久化方式包括RDB快照和AOF日志可以根据需要选择合适的持久化方式同时保证数据安全和性能。 Redis主要是基于内存操作避免了频繁的磁盘IO操作从而提高了读写性能。 二、redis的数据类型 1.String:主要用来存储字符串底层基于动态字符串SDS实现其通过动态调整长度节省内存。 场景分布式锁session、分布式锁。  指令set, hget, setnx, set ex 2.hash:类似于map底层采用两种方式当数据量较少并且元素占用内存少小整数或短字符串时采用ziplist压缩列。 场景实现购物车    指令hset, hgetall, hdel 3.list:有序可重复集合当数据量少并且元素占用内存少用ziplist,反之用quicklist(快速列表)节省内存。 【ziplist: 连续内存空间通过紧凑的存储来节省空间。 quicklist:基于ziplist和链表节省内存高效增删】 场景栈LPushLpop) \ 队列Lpush Lpop) \ 发布订阅 4.set:元素不可重复当数据量少且元素为整用intset(整数集合反之用hashtable(哈希表。 【intset:有序数组紧凑空间。 hashtable基于dict(字典)实现采用拉链表解决。】 场景抽奖(srandmember) \点赞收藏关注(sadd) \共同关注(sinter)\可能认识的人sdiff) 5.zset(sorted set):有序不可重复数据量少用ziplist反之skiplist(跳表dict(字典。 【skiplist:有序链表配上多级索引通过多级索引位置的跳转实现快速查找元素按分值排序。】 场景排行榜(zrange\zreverange\zunionscore) 6.bitmap:位图。 场景 月打卡、月活跃、布隆过滤器 7.stream参考kafka设计的消息队列支持持久化适合小基数的消息队列场景。 三、Reactor模型 Reactor 模式也叫 Dispatcher 模式即 I/O 多路复用监听事件收到事件后根据事件类型分配Dispatch给某个进程 / 线程。 1.单线程模式一个线程负责多个事件处理当连接数过多时会造成性能瓶颈适合连接数少复杂度低的场景。 2.多线程模式单线程、工作线程池在单线程的基础上将业务处理部分交给了线程池提高并发能力需要注意线程安全。 3.主从多线程模式将整体拆分为主、从Reactor 主负责监听连接事件将事件分发给从Reactor去处理。从负责与客户端读写操作充分利用多核CPU提升并发。 四、IO多路复用 一种同步IO模型允许单线程去同时监听多个文件描述符一旦文件描述符就绪就会通知程序处理。【多个请求复用了一个进程这就是多路复用】 select/poll/epoll 内核提供给用户态的多路复用系统调用进程可以通过一个系统调用函数从内核中获取多个事件。 select:基于数组实现每次调用都进行遍历最大连接有上限。poll:基于链表实现无最大连接上限。epoll:通过哈希表实现通过事件通知当IO事件就绪系统注册的回调函数就被调用无上限。【epoll 支持两种事件触发模式分别是边缘触发edge-triggeredET和水平触发level-triggeredLT】 注以下摘自这次答应我一举拿下 I/O 多路复用 1.poll 和 select 并没有太大的本质区别都是使用「线性结构」存储进程关注的 Socket 集合因此都需要遍历文件描述符集合来找到可读或可写的 Socket时间复杂度为 O(n)而且也需要在用户态与内核态之间拷贝文件描述符集合这种方式随着并发数上来性能的损耗会呈指数级增长。 2.epoll 通过两个方面很好解决了 select/poll 的问题。 epoll 在内核里使用红黑树来跟踪进程所有待检测的文件描述字把需要监控的 socket 通过 epoll_ctl() 函数加入内核中的红黑树里红黑树是个高效的数据结构增删查一般时间复杂度是 O(logn)通过对这棵黑红树进行操作这样就不需要像 select/poll 每次操作时都传入整个 socket 集合只需要传入一个待检测的 socket减少了内核和用户空间大量的数据拷贝和内存分配。epoll 使用事件驱动的机制内核里维护了一个链表来记录就绪事件当某个 socket 有事件发生时通过回调函数内核会将其加入到这个就绪事件列表中当用户调用 epoll_wait() 函数时只会返回有事件发生的文件描述符的个数不需要像 select/poll 那样轮询扫描整个 socket 集合大大提高了检测的效率。 五、持久化机制 1.RDB 就是 Redis DataBase 的缩写中文名为快照/内存快照RDB持久化是把当前进程数据生成快照保存到磁盘上的过程由于是某一时刻的快照那么快照中的值要早于或者等于内存中的值。【自动触发 和 手动触发】 2.Redis是“写后”日志Redis先执行命令把数据写入内存然后才记录日志。日志里记录的是Redis收到的每一条命令这些命令是以文本形式保存。PS: 大多数的数据库采用的是写前日志WAL例如MySQL通过写前日志和两阶段提交实现数据和逻辑的一致性。 【而AOF日志采用写后日志即先写内存后写日志。 】 RDB通过快照进行持久化通过快照触发条件将内存中的数据写到rdb文件中。AOF一种接近实时的方式通过执行命令都写到AOF中。 很少使用RDB因为它容易丢失数据通常会采用AOF但AOF持久化速度慢故混合使用。 RDB全量持久化 AOF增量持久化 若数据不敏感可不开启持久化数据比较重要且允许几分钟数据丢失用RDB作为内存数据建议都开启优先从AOF中进行数据恢复因为它数据更完整。 详细了解Redis进阶 - 持久化RDB和AOF机制详解 | Java 全栈知识体系 六、基于内存操作 内存直接由 CPU 控制也就是 CPU 内部集成的内存控制器所以说内存是直接与 CPU 对接享受与 CPU 通信的最优带宽。Redis 将数据存储在内存中读写操作不会因为磁盘的 IO 速度限制。
http://www.w-s-a.com/news/997983/

相关文章:

  • 化工网站制作用户体验设计案例
  • 如何在微信公众平台上建立微网站垂直门户网站怎么做
  • 关于销售网站有哪些内容品牌网站建设小科6a蚪
  • 免费制作网站平台哪个好湖南企业建网站
  • 灞桥微网站建设株洲百姓网
  • 儿童网站建设互联网怎么学
  • 重庆建网站的公司集中在哪里中煤第五建设有限公司网站
  • 成都网站建设987net运维需要掌握哪些知识
  • 网站建设师个人简介怎么写WordPress头像美化插件
  • 网站优化知识销售管理系统c语言
  • 桂林市网站设计厦门自己建网站
  • 网站seo哪里做的好东莞做网站优化的公司
  • 休闲采摘园网站建设政务公开和网站建设工作的建议
  • 长沙网站建设哪个公司好PHP amp MySQL网站建设宝典
  • 代码编辑器做热点什么网站好湛江网站建设哪家好
  • php网站开发概念网站开发岗位职责任职责格
  • asp 网站源码 下载西安自适应网站建设
  • 白领兼职做网站贵阳网站设计哪家好
  • 热水器网站建设 中企动力企业网站开发需要多钱
  • 北京市建设工程信息网交易网站静态网页模板免费下载网站
  • 福田欧曼服务站网站前台设计
  • 网站做系统叫什么软件吗注册域名需要实名认证吗
  • jsp网站开发教学视频ui设计风格
  • 注册网站建设开发怎么自己做导航网站
  • 设计做网站品牌咖啡主题网页界面设计
  • 个人网站制作总体设计宿迁房价2023年最新房价
  • 服装网站建设进度及实施过程马鞍山网站设计制作
  • 郑州网站优化顾问济宁网站制作
  • 网站开发简单吗网站引导页分为三个板块设计风格
  • 湖南做网站 在线磐石网络百度一下百度搜索