Redis_入门

前端之家收集整理的这篇文章主要介绍了Redis_入门前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

redis入门

@H_301_2@

@H_301_2@

1. 概述

1. 什么是Redis

  • @H_301_2@Redis = @H_502_47@Remote @H_502_47@Dictionary @H_502_47@Server 即@H_502_47@远程字典服务

  • @H_301_2@Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

  • @H_301_2@免费和开源,是当下最热门的的Nosql技术之一,也被人们称之为机构化数据库

  • @H_301_2@@H_502_47@Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

  • @H_301_2@Redis不仅仅支持简单的@H_502_47@key-value类型的数据,同时@H_502_47@还提供list,set,zset,hash等数据结构的存储。

  • @H_301_2@Redis支持数据的备份,即@H_502_47@master-slave模式的数据备份。

2. Redis能干什么

  1. 内存存储,持久化 ==== 因为内存中是断电即失,所以说持久化很重要(rdb,aof)
  2. 效率高,可以用于高速缓存
  3. 发布订阅系统
  4. 地图信息分析
  5. 计时器,计数器(可以用来实现浏览量的统计)
  6. ......

3. Redis的特性

  1. 多样的数据类型
  2. 持久化
  3. 集群
  4. 事务
  5. ......

2. 安装

1. Windows版本

@H_301_2@@H_502_47@在Github上下载,Redis推荐都是在Linux服务器上搭建的

@H_301_2@下载地址为 https://github.com/tporadowski/redis/releases

@H_301_2@得到压缩包,解压到自己电脑的环境目录下即可

@H_301_2@

image-20201010094434260

@H_301_2@开启Redis,双击运行server即可

@H_301_2@

image-20201010094543467

@H_301_2@默认端口是6379

@H_301_2@使用Redis客户端(cli)连接Redis,此时服务端不要关闭

@H_301_2@

image-20201010095007188

@H_301_2@windows下使用确实简单,但是Redis推荐我们使用linux去开发

@H_301_2@

image-20201010100809903

2. 在Linux上安装

@H_301_2@安装过程略,我们安装在 /opt 目录下,@H_502_47@将一份配置文件拷贝到 /usr/local/bin/myconfig 目录下,以后修改这里的配置文件就可以了

@H_301_2@@H_502_47@启动Redis 在 /usr/local/bin 目录下,执行 redis-server myconfig/redis.conf 使用/myconfig中的配置文件启动

@H_301_2@启动客户端测试 redis-cli -p 6379

@H_301_2@

image-20201020172130915

@H_301_2@查看redis服务是否开启

@H_301_2@

image-20201020172319386

@H_301_2@@H_502_47@关闭redis服务 shutdown

3. 测试性能

@H_301_2@@H_502_47@redis-benchmark 是一个压力测试工具

@H_301_2@测试100个并发连接,1s发送100000个请求

redis- benchmark -h Localhost -p 6379 -C 100 -n 100000
@H_301_2@

image-20201021101934594

@H_301_2@参数解释

  • 对 100000 请求进行写入测试
  • 100 个并发客户端
  • 每次写入 3 个字节
  • 只有一台服务器来处理这些请求,单机性能

4. 基础知识

5. Redis是单线程的

  • Redis是很快的,官方表示,@H_502_47@Redis是基于内存操作,cpu不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,因此使用单线程来做
  • 为什么单线程还这么快
    • Redis是C语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样使用kv的Memecache差!
    • 误区1 : 高性能的服务器一定是多线程的
    • 误区2 : 多线程一定比单线程效率高 (由于cpu上下文会切换,不一定比单线程高)
    • @H_502_47@核心: redis是将所有的数据全部放在内存中,所以说使用单线程去操作,效率就是最高的! 对于内存系统来说,如果没有上下文切换效率就是最高的! 多次读写都是在一个cpu上的,在内存情况下这个就是最佳的解决方

猜你在找的Redis相关文章