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

c2c网站免费建设静态网页模板免费下载的网站

c2c网站免费建设,静态网页模板免费下载的网站,最新新闻事件报道,自己做的网站怎么放视频目录 1.Redis是什么? 2. Redis特性 2.1 速度快 2.2 基于键值对的数据结构服务器 2.3 丰富的功能 2.4 简单稳定 2.5 客户端语言多 2.6 持久化 2.7 主从复制 2.8 高可用和分布式 3. Redis使用场景 3.1 缓存(Cache) 3.2 排行榜系统 3.3 计数器应用 3.4 社交网络 …目录 1.Redis是什么? 2. Redis特性 2.1 速度快 2.2 基于键值对的数据结构服务器 2.3 丰富的功能 2.4 简单稳定 2.5 客户端语言多 2.6 持久化 2.7 主从复制 2.8 高可用和分布式 3. Redis使用场景 3.1 缓存(Cache) 3.2 排行榜系统 3.3 计数器应用 3.4 社交网络 3.5 消息队列系统 4. Redis 不可以做什么 1.Redis是什么? Redis 是一种基于键值对(key-value)的 NoSQL数据库与很多键值对数据库不同的是Redis 中的值可以是由 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合).  Bitmaps(位图)、HyperLogL0g、GEO(地理信息定位) 等多种数据结构和算法组成因此Redis可以满足很多的应用场景而且因为 Redis 会将所有数据都存放再内存中所以它的读写性能非常惊人。不仅如此Redis还可以将内存的数据利用快照和日志的形式保存到硬盘上这样在发生类似断电或者机器故障的时候内存中的数据不会“丢失””。除了上述功能以外Redis还提供了键过期、发布订阅、事务、流水线、Lua 脚本等附加功能。总之如果在合适的场景使用号 Redis它就会像一把瑞士军刀一样所向披靡。 Redis的来源 2008年Redis的作者 Salvatore Sanfilippo 在开发一个叫 LLOOGG 的网站时需要实现一个高性能的队列功能最开始是使用 MySQL来实现的但后来发现无论怎么优化 SQL语句等都不能使网站的性能提高上去再加上自己囊中羞涩于是他决定自己做一个专属于 LLOOGG 的数据库这个就是 Redis 的前身。后来Salvatore Sanfilippo 将 Redis 1.0 的源码发布到 Github 上可能连他自己都没想到Redis后来如此受欢迎。         假如现在有人问 Redis 的作者都有谁在使用 Redis我想他可以开句玩笑的回答:还有谁不使用Redis当然这只是开玩笑但是从 Redis 的官方公司统计来看有很多重量级的公司都在使用Redis如国外的Twitter、Instagram、StackOverflow、Github等国内就更多了如果单单从体量来统计新浪微博可以说是全球最大的 Redis 使用者除了新浪微博还有像阿里巴巴、腾讯、搜狐、优酷土豆、美团、小米、唯品会等公司都是 Redis 的使用者。除此之外许多开源技术像 ELK等已经把 Redis 作为它们组件中的重要一环而且 Redis 还提供了模块系统让第三方人员实现功能扩展让 Redis 发挥出更大的威力。所以可以这么说熟练使用和运维 Redis 已经成为开发运维人员的一个必备技能。 2. Redis特性 Redis 之所以受到如此多公司的青睐必然有之过人之处下面是关于 Redis 的8个重要特性。 2.1 速度快 正常情况下Redis执行命令的速度非常快官方给出的数字是读写性能可以达到 10 万/秒当然这也取决于机器的性能但这里先不讨论机器性能上的差异只分析一下是什么造就了 Redis 如此之快可以大概归纳为以下四点: Redis 的所有数据都是存放在内存中的表 1-1是谷歌公司 2009 年给出的各层级硬件执行速度所以把数据放在内存中是 Redis 速度快的最主要原因。Redis 是用C语言实现的一般来说C语言实现的程序“距离”操作系统更近执行速度相对会更快。Redis 使用了单线程预防了多线程可能产生的竞争问题。Redis 在 6.0版本引入了多线程机制但主要也是在处理网络和 10不涉及到数据命令即命令的执行仍然采用了单线程模式。作者对于 Redis 源代码可以说是精打细磨曾经有人评价 Redis 是少有的集性能和优雅于一身的开源代码。 表 1-1 谷歌公司给出的各层级硬件执行速度 2.2 基于键值对的数据结构服务器 几乎所有的编程语言都提供了类似字典的功能例如 C里的 map、Java 里的 map、Python 里的 dict 等类似于这种组织数据的方式叫做基于键值对的方式与很多键值对数据库不同的是Redis 中的值不仅可以是字符串而且还可以是具体的数据结构这样不仅能便于在许多应用场景的开发同时也能提高开发效率。Redis的全程是 REmote DictionaryServer它主要提供了5种数据结构: 字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(ordered set/zet)同时在字符串的基础之上演变出了位图(Bitmaps)和 HyperLogLog 两种神奇的”数据结构“并且随着 LBS(Location Based Service基于位置服务)的不断发展Redis 3.2.版本种加入有关 GEO(地理信息定位)的功能总之在这些数据结构的帮助下开发者可以开发出各种“有意思”的应用。 2.3 丰富的功能 除了5种数据结构Redis还提供了许多额外的功能: 提供了键过期功能可以用来实现缓存。提供了发布订阅功能可以用来实现消息系统。支持 Lua 脚本功能可以利用 Lua 创造出新的 Redis 命令。提供了简单的事务功能能在一定程度上保证事务特性。提供了流水线(Pipeline)功能这样客户端能将一批命令一次性传到 Redis减少了网络的开销。 2.4 简单稳定 Redis 的简单主要表现在三个方面。首先Redis 的源码很少早期版本的代码只有2万行左右3.0 版本以后由于添加了集群特性代码增至5万行左右相对于很多 NOSOL数据库来说代码量相对要少很多也就意味着普通的开发和运维人员完全可以“吃透”它。其次Redis 使用单线程模型这样不仅使得 Redis 服务端处理模型变得简单而且也使得客户端开发变得简单。最后Redis 不需要依赖于操作系统中的类库(例如 Memcache 需要依赖 libevent 这样的系统类库)Redis 自己实现了事件处理的相关功能。 但与简单相对的是 Redis 具备相当的稳定性在大量使用过程中很少出现因为 Redis 自身 BUG而导致宕掉的情况。 2.5 客户端语言多 Redis 提供了简单的 TCP 通信协议很多编程语言可以很方便地接入到 Redis并且由于 Redis 受到社区和各大公司的广泛认可所以支持 Redis 的客户端语言也非常多几乎涵盖了主流的编程语言例如C、C、Java、PHP、Python、NodeJs等后续我们会对 Redis 的客户端使用做详细说明。 2.6 持久化 通常看将数据放在内存中是不安全的一旦发生断电或者机器故障重要的数据可能就会丢 失因此 Redis 提供了两种持久化方式:RDB和 AOF即可以用两种策略将内存的数据保存到硬盘中(如图 1-1所示)这样就保证了数据的可持久性后续我们将对 Redis 的持久化进行详细说明。 图 1-1 Redis 内存到硬盘的持久化 2.7 主从复制 Redis 提供了复制功能实现了多个相同数据的 Redis副本(Replica) (如图 1-2 所示)复制 功能是分布式 Redis 的基础。后续我们会对 Redis 的复制功能进行详细演示。 图 1-2 Redis 主从复制架构 2.8 高可用和分布式 Redis 提供了高可用实现的 Redis 哨兵(Redis Sentinel)能够保证 Redis 结点的故障发现和故 障自动转移。也提供了 Redis集群(Redis Cluster)是真正的分布式实现提供了高可用、读写和 容量的扩展性。 3. Redis使用场景 上节我们已经了解了 Redis 的若干个特性本节来看一下 Redis 的典型应用场景有哪些? 3.1 缓存(Cache) 缓存机制几乎在所有大型网站都有使用合理地使用缓存不仅可以加速数据的访问速度而且能够有效地降低后端数据源的压力。Redis 提供了键值过期时间设置并且也提供了灵活控制最大内存和内存溢出后的淘汰策略。可以这么说一个合理的缓存设计能够为一个网站的稳定保驾护航。 3.2 排行榜系统 排行榜系统几乎存在于所有的网站例如按照热度排名的排行榜按照发布时间的排行榜按照各种复杂维度计算出的排行榜Redis提供了列表和有序集合的结构合理地使用这些数据结构可以很方便地构建各种排行榜系统。 3.3 计数器应用 计数器在网站中的作用至关重要例如视频网站有播放数、电商网站有浏览数为了保证数据的实时性每一次播放和浏览都要做加1的操作如果并发量很大对于传统关系型数据的性能是一种挑战。Redis 天然支持计数功能而且计数的性能也非常好可以说是计数器系统的重要选择。 3.4 社交网络 赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等是社交网站的必备功能由于社交网站访问量通常比较大而且传统的关系型数据不太合适保存这种类型的数据Redis 提供的数据结构可以相对比较容易地实现这些功能。 3.5 消息队列系统 消息队列系统可以说是一个大型网站的必备基础组件因为其具有业务解耦、非实时业务削峰等特性。Redis提供了发布订阅功能和阻塞队列的功能虽然和专业的消息队列比还不够足够强大但是对于一般的消息队列功能基本可以满足。 4. Redis 不可以做什么 实际上和任何一门技术一样每个技术都有自己的应用场景和边界也就是说 Redis 并不是万金 油有很多合适它解决的问题但是也有很多不合适它解决的问题。我们可以站在数据规模和数据冷热的角度来进行分析。 站在数据规模的角度看数据可以分为大规模数据和小规模数据我们知道Redis 的数据是存放 在内存中的虽然现在内存已经足够便宜但是如果数据量非常大例如每天有几亿的用户行为数 据使用 Redis 来存储的话基本上是个无底洞经济成本相当高。 站在数据冷热的角度数据分为热数据和冷数据热数据通常是指需要频繁操作的数据反之为 冷数据例如对于视频网站来说视频基本信息基本上在各个业务线都是经常要操作的数据而用户的观看记录不一定是经常需要访问的数据这里暂且不讨论两者数据规模的差异单纯站在数据冷热的角度上看视频信息属干热数据用户观看记录属干冷数据。如果将这些冷数据放在 Redis上基本上是对于内存的一种浪费但是对于一些热数据可以放在 Redis 中加速读写也可以减轻后端存储的负载可以说是事半功倍。 所以Redis 并不是万金油相信随着我们对 Redis 的逐步学习能够清楚 Redis 真正的使用场 景。
http://www.zqtcl.cn/news/4805/

相关文章:

  • 做英文网站需要哪些东西济南seo培训
  • 做网站预算做青蛙网站
  • 手机网站开发 html5合肥网站制作开发
  • 做最好的网站新新北京朝阳做网站
  • 湖州高端网站建设公司aspnet网站开发源码
  • 公司做网站那个网站好自己制作app的应用程序
  • 深圳商业网站建设去哪家个人网站源代码html
  • 个人网站建设的论文网站建设心得8000字
  • 无锡网站建设价格合肥网站建设的公司
  • 如何在后台做网站分页电子商务网站系统规划 案例分析
  • 企业 网站 设计成都网站开发公司有哪些
  • 厦门网站制作网站建设收费建站模板网
  • 网站访客记录 是后台做吗室内设计平面图库
  • 东营建设信息网站打开qq邮箱进入wordpress
  • 佛山网页建站模板购物网站开发教程 视频
  • 郑州商城网站建设多少钱怎么做网站链接的快捷方式
  • 上饶做网站哪家好做网站开发注册工商户可以么
  • 空压机东莞网站建设重庆网站制作公司电话
  • 有哪些网站做的很有特色池州网站建设推广
  • php综合网站源码wordpress禁止抓分页
  • 杭州未来科技网站建设网站开发实战第二章
  • 网站上传图片不成功专注律师微网站建设与律师微信营销
  • 花店网站建设构思丹东供求园
  • 企业网站都没的百度快照咋办网站域名信息
  • .net开发的网站能做优化吗企业要建设一个网站需要多少钱
  • 哪些网站适合推广学校网站首页
  • 怎么用模板建站wordpress 采集文章 图片不显示
  • seo 优化技术难度大吗安卓内核级优化神器
  • 网站制作的教程哪个网站做系统好
  • 做淘宝这种网站深圳楼市最新消息