zoukankan      html  css  js  c++  java
  • 详解什么是redis

    企业中redis是必备的性能优化中间件,也是常见面试题,首先Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。

    那么为什么要使用类似redis

    单机时代,存储只用一台机器装mysql,如果每次存储成千上万条数据,这样很会导致mysql的性能很差,存储以及读取速度很慢,然后就演变成缓存+mysql+垂直拆分的方式

    如图 引入redis后后架构变化

     

    Redis有多快 

    Redis-benchmark是官方自带的Redis性能测试工具,可以有效的测试Redis服务的性能。

    例如运行命令

    ./redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000

    这是模拟100个并发连接,总共100000个请求,检测host为127.0.0.1端口为6379的redis 所有指令性能

    其中一个指令截图,一秒钟可以达到9万多次操作,可以提高数据库上百倍访问速度,这还是在虚拟机环境下测试。

    redis-benchmark  命令行说明(有兴趣的同学可以压测下公司环境redis性能)

    关于redis 还有个常见疑惑,什么是Nosql

    传统关系数据库结构

    Redis支持的数据库结构

    这种非关系型数据库统称nosql

    Redis为什么有这么多数据结构,主要原因不光提供了高性能缓存,更关键的提供了很多数据结构来简化后台业务开发

    例如对List 列表结构支持

    对Set 列表支持

     

     

     

     

     

     

     

     

     

     

     

     

     

    List 和Set什么区别呢,有的面试官会深挖下去,这就实在考察大家的基本功了。

    Set可以去重,我们如果有这样业务需求,直接将数据给redis,就可以满足数据去重了。

    作  者:Testfan 极光
    出  处:微信公众号:自动化软件测试平台
    版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

  • 相关阅读:
    从源码剖析Lua数据类型
    【Mysql】主从同步配置
    【Logstash】Logstash收集Nginx访问日志(二十六)
    【Logstash】Logstash快速入门(二十五)
    【Kibana】集群监控(二十四)
    【Beats】Metricbeat 收集Nginx指标数据(二十三)
    【Beats】Metricbeat快速入门(二十二)
    【Beats】Filebeat 与 Kibana仪表板(二十一)
    【Kibana】坐标地图(二十)
    【Beats】Filebeat收集Nginx日志(十九)
  • 原文地址:https://www.cnblogs.com/testfan2019/p/11008297.html
Copyright © 2011-2022 走看看