简述redis特点及其应用场景
简述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特点及其应用场景相关推荐
- Redis数据库的应用场景介绍
https://www.jb51.net/article/68262.htm 一.MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载 ...
- redis常用数据类型的场景,你真的用对了么?
关注微信公众号"虾米聊吧",每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流. redis常用数据类型的场景,你真的用对了么? redis常用数 ...
- Redis 几种应用场景
Redis 几种应用场景 字符串缓存 <?php$redis = new Redis();$redis->connect('127.0.0.1',6379);$strKey = 'test ...
- Redis数据结构Hash应用场景-存储商品、购物车、淘宝短链接、分布式Session、用户注册、发微博功能
Hash应用场景 Hash Hash应用场景 redis存储java对象常用String,那为什么还要用hash来存储? SpringBoot+redis+hash存储商品数据 短链接 场景1:淘宝短 ...
- 【高级开发进阶】Redis五大数据结构应用场景落地
Redis缓存数据结构,数据同步问题(双删策略),缓存雪崩,缓存穿透,热点缓存重构,缓存失效,哨兵机制,持久化,redis 淘汰机制 熟悉掌握Redis数据结构的使用场景,熟悉Redis缓存高并发的使 ...
- Redis和Mongodb应用场景
Redis和Mongodb应用场景 原文: Redis和MongoDB的区别以及应用场景 现在的分布式项目基本都会用到redis和mongodb,可是redis和mongdb到底有什么不同呢,今天我就 ...
- redis数据结构及使用场景
redis数据结构及使用场景 1.字符串(String) String是最常用的一种数据类型,普通的k/v存储都可以归为此类.redis是使用C语言开发,但C中并没有字符串类型,只能使用指针或符数组的 ...
- 玩玩Redis系列(八)--redis数据结构及使用场景
redis数据结构及使用场景 数据结构 String 相关命令 使用场景 List 相关命令 使用场景 Set 相关命令 使用场景 Hash 相关命令 使用场景 ZSet 相关命令 使用场景 Hype ...
- redis 作用和应用场景等总结篇
目录 一.什么是redis 二.应用场景 三.优点 四.redis持久化的几种方式 五.memecache和redis的区别 六.redis 常见的性能问题以及解决方案 七.redis 如何做内存优化 ...
最新文章
- dataGridView1去掉第一列
- 2015-12-15 关于就近日期
- mpvue template compiler 中文版教程
- python使用tkinter做界面之颜色
- 马斯克脑机接口_马斯克的脑机接口,让我倍感担忧
- 论文浅尝 - CIKM2020 | 用于推荐系统的多模态知识图谱
- 浏览器显示linux桌面,如何从Web浏览器远程监视Linux服务器和桌面
- 日积月累系列之分页控件(js源码)
- 买空间做网站_企业做网站购买空间的注意事项?
- VOSviewer软件研究热点分析
- C# 替换Word文档中的书签内容【详细步骤】
- java poi调用excel文件的自动行高来设置自动行高
- Java集合(一)什么是集合
- GeoServer中利用SLD配图之矢量图层配图
- c语言dsp编程论坛,针对Ti的DSP C语言编程
- October CMS
- 微软Office 2013:会受企业待见的最佳新功能
- 如何解决oracle中文乱码问题,oracle中解决中文乱码问题
- jboot 增加llog4j日志
- arXiv镜像加载慢的解决办法
热门文章
- go 开源游戏服务器框架
- Ubuntu安装nodejs以及更新
- html5 canvas 图片变形,HTML5/Canvas 流动的变形圆形
- c语言复杂数据类型,c语言复杂数据类型及排序.ppt
- android今日头条点赞效果,类似今日头条点赞长按动画效果-CAEmitterLayer
- 2021年美容师(中级)报名考试及美容师(中级)试题及解析
- 视图-叠印预览_使用预览视图显示摄像机预览
- 视频抽帧:多视频、可视化、手动旋转
- python中xpath语法怎么用_Python Xpath语法
- Nginx日志配置远程Syslog采集