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

淘宝联盟 做网站哈尔滨网站优化对策

淘宝联盟 做网站,哈尔滨网站优化对策,php中英文企业网站,企业信用信息系统登录平台目录 一、Redis是什么?优缺点? 二、Redis为什么这么快? 三、Redis相较于Memcached有哪些优势? 四、为什么使用Redis做缓存? 五、为什么要用Redis而不用map/guava做缓存? 六、Redis的常用场景有哪些&am…

目录

一、Redis是什么?优缺点?

二、Redis为什么这么快?

三、Redis相较于Memcached有哪些优势?

四、为什么使用Redis做缓存?

五、为什么要用Redis而不用map/guava做缓存?

六、Redis的常用场景有哪些?

七、Redis的数据类型有哪些?


一、Redis是什么?优缺点?

Redis就是一个基于内存的数据库 存储K - V结构的非关系型数据库

优点:

1. 速度快,因为是直接操作缓存,减少磁盘io

2. 并发量高  读写并发量高 可以支持高达10w次的并发量 读可以达到10w 写也可以达到8w多

3. 支持多种数据结构 并且还对这些数据结构作了一些优化

4. 丰富的特性 超时机制 丰富的api 等 

5. 支持主从复制,可以将主节点的数据同步到从节点 保证高可用 

6. 支持持久化存储,可以定期的异常将缓存数据持久化到硬盘中

7. 支持事务  Redis中所有的单个操作都是原子性性  即使多个命令  也可以使用脚本的方式确保整体原子性  使用MULTI和EXEC包裹

二、Redis为什么这么快?

 1. 操作的是缓存

 2. 对数据结构作了优化

 3. 单线程,是因为减少锁 资源竞争 还有就是减少上下文切换带来的性能消耗

 4. 非阻塞IO,多路复用IO技术,将epoll作为多路复用IO技术的实现,使用Redis的事件处理机制,将epoll中的连接、读写、关闭都转为事件,不在IO上面浪费过多的时间

5. 使用的底层模型不同,创建了自己的VM机制,减少了系统调用

VM机制就是将访问较少的数据从内存中搬到磁盘中,为内存腾出更多的空间,这些空间存储热数据

Redis提高容量有两种方法:1. Redis集群 部署多个redis服务器 2. 使用VM机制将冷数据放到磁盘中

三、Redis相较于Memcached有哪些优势?

1. Memcached不支持数据持久化到硬盘中,断电数据就没了

2. Redis的数据类型更为丰富,而Memcached只支持字符串

3. 集群模式,redis服务器天然支持集群,但是Memcached没有原生的集群,需要到客户端操作之后,再上传到Memcached分片中

4. IO模型:Redis是单线程的IO多路复用模型,而Memcached是多线程的非阻塞IO模型

5. Redis支持服务端操作数据:Redis拥有更加丰富的数据类型和操作数据的方法,都可以在服务端完成,而Memcached需要在客户端进行操作,然后再上传到服务端去

6. 性能:Redis性能更高

总的来说需要缓存支持多种数据结构以及多种操作数据的方法,Redis是一个不错的选择

四、为什么使用Redis做缓存?

1. 高并发

Redis可以支持10w的并发量 直接操作数据库的并发量远远不及Redis的并发量  所以我们考虑将一些数据放到缓存中,这样一部分请求就能直接到Redis

2. 高性能

用户第一次访问数据库,因为是与磁盘打交道,因此速度较慢,将用户的数据放到缓存中 下次直接就从缓存中获取

五、为什么要用Redis而不用map/guava做缓存?

主要因为一个是本地缓存一个是分布式缓存

1. Redis可以支持分布式缓存,各个服务器都可以使用,而map只存在于自身的jvm中,一旦jvm停止数据就没了 也不能共享

2. 持久化

3. 数据量

4. Redis有超时机制等 可以实现很多功能的api

5. Redis支持的并发量更高

6. Redis可以单独部署  多个系统共享

7. Redis有相应的管理工具

六、Redis的常用场景有哪些?

1. 缓存

2. 分布式会话

可以将session信息放到redis中 多个服务就可以共享 实现会话信息的共享 例如登录成功 就可以将会话信息存储到Redis中

3. 分布式锁

利用sexnx指令,可以实现多次操作只能一次成功的效果  因此可用在多个服务共同操作数据,并发情况下,使用分布式锁解决,一次就只能一个服务抢到锁  例如 全局ID、库存、秒杀场景

4. 社交场景

可以使用set 实现点赞、踩、关注、添加好友、利用取交集共同关注、共同好友等功能

5. 计数器

使用string类型 的incr命令可以实现 

6. 排行榜

使用zset可以实现  

7. 最新列表

使用list  利用左侧插入数据 并且始终维持集合中的数量大小不变

8. 消息系统

因为redis提供了发布订阅模型以及阻塞队列 因此可以实现一个简单的消息系统

七、Redis的数据类型有哪些?

数据类型是说的value的类型,整体还是K-V类型

1. string : 字符串类型 可以放字符串可以放数字  放字符串数字还可以对字符串进行运算

2. hash:k-v类型 适合存储对象,结构清晰,并且方便对对象中的某个属性进行修改

3. set:集合类型,存储没有重复的数据 可以利用它能很容易的实现很多社交功能

4. zset:带排序的集合类型,可以通过score指定排序分数 指定排序 类似于Java中的TreeSet

5. list:列表类型,底层使用双向链表实现,可以正向获取元素,也可反向  插入也一样 可以用作最新消息的实现

http://www.yayakq.cn/news/131987/

相关文章:

  • 鲜花网站的数据库建设在手机上怎么编程
  • 营销网站如何建设都匀住房和城乡建设部网站
  • 企业形象网站建设意义网站如何投放广告
  • 舆情报告总结网站优化吧
  • php 用什么做网站服务器吗深圳网络有限公司
  • 工信部网站 登陆建站网站设计
  • 云南网站设计哪家专业wordpress+简书+比较
  • html做校园网站衡阳网站建设技术外包
  • 网站不兼容怎么办国航网站建设
  • 买个购物网站制作链接的app的软件有哪些
  • 樟木头做网站推广网站排行榜
  • 微网站ui多少钱seo网站seo
  • 微同网 我的网站移动版wordpress删除空标签
  • wordpress+做仿站重庆森林经典台词
  • 网站建设及维护专业网页设计制作课程
  • 一个公司设计网站怎么做hao123上网从这里开始官方
  • html5网站开发案例视频帝国网站管理系统前台
  • 网站建设参考文献作者怎么做动漫网站
  • 网站大全免费下载北京音乐制作公司
  • 惠州禅城网站建设那些公司需要网站开发工程师
  • 网站一元空间有哪些呀市场调研的方法
  • 网站 开发 价格个人网页首页内容
  • 合肥seo网站多少钱安卓手机优化软件排名
  • 网站制作软件是什么七个2wordpress
  • 顺德大良网站建设开发平台运营工作内容
  • 做公众号网站有哪些深圳人才网招聘官方网
  • 网站3d展示怎么做的做好三步网站改版工具不降权 无忧老师
  • 做网站伊犁哈萨克自治州做片头片尾比较好的网站
  • wix网站制作大厂县城乡建设局网站
  • 表格做的网站影响收录怎样做酒店网站ppt模板