简述redis特点及其应用场景

  • 1.Redis 特性
    • 1.1.单线程(处理客户端请求)
  • 2.redis 典型应用场景

1.Redis 特性

  • 速度快: 10W QPS,基于内存,C语言实现
  • 单线程(目前已近支持多线程)
  • 持久化(虽然基于内存,但是具有写入磁盘能力,做到断电不丢)
  • 支持多种数据结构
  • 支持多种编程语言
  • 功能丰富: 支持Lua脚本,发布订阅,事务,pipeline(流水线)等功能
  • 简单: 代码短小精悍(单机核心代码只有23000行左右),单线程开发容易,不依赖外部库,使用简单
  • 主从复制
  • 支持高可用和分布式

1.1.单线程(处理客户端请求)

Redis 6.0版本前一直是单线程方式处理用户的请求

单线程为何如此快?

  • 纯内存
  • 非阻塞
  • 避免线程切换和竞态消耗

因为存的数据都比较小,运算速率比较高,单线程反而可以避免切换CPU浪费时间,为了可以提高效率可以实行多实例,一个CPU跑一个实例。

注意事项:

  • 一次只运行一条命令
  • 拒绝长(慢)命令:keys, flushall, flushdb, slow lua script, mutil/exec, operate big value(collection),排队时间很长。
  • 其实不是单线程: 早期版本是单进程单线程,3版本后实际还有其它的线程, 实现特定功能,如: fysncfile descriptor,close file descriptor

2.redis 典型应用场景

  • Session 共享:常见于web集群中的Tomcat或者PHP中多web服务器session共享

  • 缓存:数据查询、电商网站商品信息、新闻内容

  • 计数器:访问排行榜、商品浏览数等和次数相关的数值统计场景

  • 微博/微信社交场合:共同好友,粉丝数,关注,点赞评论等

  • 消息队列 :ELK的日志缓存、部分业务的订阅发布系统

  • 地理位置:基于GEO(地理信息定位),实现摇一摇,附近的人,外卖等功能

简述redis特点及其应用场景相关推荐

  1. Redis数据库的应用场景介绍

    https://www.jb51.net/article/68262.htm 一.MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载 ...

  2. redis常用数据类型的场景,你真的用对了么?

    关注微信公众号"虾米聊吧",每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流. redis常用数据类型的场景,你真的用对了么? redis常用数 ...

  3. Redis 几种应用场景

    Redis 几种应用场景 字符串缓存 <?php$redis = new Redis();$redis->connect('127.0.0.1',6379);$strKey = 'test ...

  4. Redis数据结构Hash应用场景-存储商品、购物车、淘宝短链接、分布式Session、用户注册、发微博功能

    Hash应用场景 Hash Hash应用场景 redis存储java对象常用String,那为什么还要用hash来存储? SpringBoot+redis+hash存储商品数据 短链接 场景1:淘宝短 ...

  5. 【高级开发进阶】Redis五大数据结构应用场景落地

    Redis缓存数据结构,数据同步问题(双删策略),缓存雪崩,缓存穿透,热点缓存重构,缓存失效,哨兵机制,持久化,redis 淘汰机制 熟悉掌握Redis数据结构的使用场景,熟悉Redis缓存高并发的使 ...

  6. Redis和Mongodb应用场景

    Redis和Mongodb应用场景 原文: Redis和MongoDB的区别以及应用场景 现在的分布式项目基本都会用到redis和mongodb,可是redis和mongdb到底有什么不同呢,今天我就 ...

  7. redis数据结构及使用场景

    redis数据结构及使用场景 1.字符串(String) String是最常用的一种数据类型,普通的k/v存储都可以归为此类.redis是使用C语言开发,但C中并没有字符串类型,只能使用指针或符数组的 ...

  8. 玩玩Redis系列(八)--redis数据结构及使用场景

    redis数据结构及使用场景 数据结构 String 相关命令 使用场景 List 相关命令 使用场景 Set 相关命令 使用场景 Hash 相关命令 使用场景 ZSet 相关命令 使用场景 Hype ...

  9. redis 作用和应用场景等总结篇

    目录 一.什么是redis 二.应用场景 三.优点 四.redis持久化的几种方式 五.memecache和redis的区别 六.redis 常见的性能问题以及解决方案 七.redis 如何做内存优化 ...

最新文章

  1. dataGridView1去掉第一列
  2. 2015-12-15 关于就近日期
  3. mpvue template compiler 中文版教程
  4. python使用tkinter做界面之颜色
  5. 马斯克脑机接口_马斯克的脑机接口,让我倍感担忧
  6. 论文浅尝 - CIKM2020 | 用于推荐系统的多模态知识图谱
  7. 浏览器显示linux桌面,如何从Web浏览器远程监视Linux服务器和桌面
  8. 日积月累系列之分页控件(js源码)
  9. 买空间做网站_企业做网站购买空间的注意事项?
  10. VOSviewer软件研究热点分析
  11. C# 替换Word文档中的书签内容【详细步骤】
  12. java poi调用excel文件的自动行高来设置自动行高
  13. Java集合(一)什么是集合
  14. GeoServer中利用SLD配图之矢量图层配图
  15. c语言dsp编程论坛,针对Ti的DSP C语言编程
  16. October CMS
  17. 微软Office 2013:会受企业待见的最佳新功能
  18. 如何解决oracle中文乱码问题,oracle中解决中文乱码问题
  19. jboot 增加llog4j日志
  20. arXiv镜像加载慢的解决办法

热门文章

  1. go 开源游戏服务器框架
  2. Ubuntu安装nodejs以及更新
  3. html5 canvas 图片变形,HTML5/Canvas 流动的变形圆形
  4. c语言复杂数据类型,c语言复杂数据类型及排序.ppt
  5. android今日头条点赞效果,类似今日头条点赞长按动画效果-CAEmitterLayer
  6. 2021年美容师(中级)报名考试及美容师(中级)试题及解析
  7. 视图-叠印预览_使用预览视图显示摄像机预览
  8. 视频抽帧:多视频、可视化、手动旋转
  9. python中xpath语法怎么用_Python Xpath语法
  10. Nginx日志配置远程Syslog采集