侧边栏壁纸
  • 累计撰写 106 篇文章
  • 累计创建 19 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

二、Redis概述(Redis零基础笔记)

zero
2020-04-16 / 0 评论 / 0 点赞 / 78 阅读 / 17258 字
温馨提示:
本文最后更新于 2024-07-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1、概述

什么是Reids

Redis(Remote Dictionary Server),即远程字典服务

是一个开源的使用ASNSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

免费和开源,当下最热门的NoSQL技术之一,也被人们称之为结构化数据库

二、Redis概述(Redis零基础笔记) -图片一.png

redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。


Redis能干吗?

  1. 内存存储、持久化、内存是断电即失,所以说持久化很重要(rdb、aof)

  2. 效率高,可以用于高速缓存

  3. 发布订阅系统

  4. 地图信息分析

  5. 计时器、计数器(浏览量)

  6. ......

特性

  1. 多样的数据类型

  2. 持久化

  3. 集群

  4. 事务

  5. ......


学习需要的东西

  1. 官网 https://redis.io/

二、Redis概述(Redis零基础笔记) -图片二.png

  1. 中文网 http://redis.cn/ 下载地址:通过官网下载即可!

二、Redis概述(Redis零基础笔记) -图片三.png

注意:Wdinow在 Github上下载(停更很久了!)

Redis推荐都是在Linux服务器上搭建的,我们是基于Linux学习!

2、Windows安装

  1. 下载安装包 https://github.com/MicrosoftArchive/redis/releases

  2. 下载完毕得到压缩包: 二、Redis概述(Redis零基础笔记) -图片四.png

  3. 解压到自己电脑上的环境目录下的就可以的!Redis 十分的小,只有5M 二、Redis概述(Redis零基础笔记) -图片五.png

  4. 开启Redis,双击运行服务即可! 二、Redis概述(Redis零基础笔记) -图片六.png

  5. 使用redis客户单来来连接redis 二、Redis概述(Redis零基础笔记) -图片七.png

记住一句话,Window下使用确实简单,但是Redis 推荐我们使用Linux去开发使用! 二、Redis概述(Redis零基础笔记) -图片八.png

3、Linux安装

  1. 下载安装包 https://github.com/MicrosoftArchive/redis/releases

  2. 解压Redis的安装包! 程序/opt

    tar -zxvf redis-6.0.10.tar.gz
  3. 进入解压后的文件,可以看到我们redis的配置文件 二、Redis概述(Redis零基础笔记) -图片九.png

  4. 基本的环境安装

    yum install gcc-c++   # 如果redis是6.0以上版本 安装会报errormakemake install

    二、Redis概述(Redis零基础笔记) -图片十.png

  5. redis的默认安装路径 /usr/local/bin 二、Redis概述(Redis零基础笔记) -图片十一.png

  6. 将redis配置文件。复制到我们当前目录下 二、Redis概述(Redis零基础笔记) -图片十二.png

  7. redis默认不是后台启动的,修改配置文件! 二、Redis概述(Redis零基础笔记) -图片十三.png

  8. 启动Redis服务! 二、Redis概述(Redis零基础笔记) -图片十四.png

  9. 使用redis-cli 进行连接测试! 二、Redis概述(Redis零基础笔记) -图片十五.png

  10. 查看redis的进程是否开启! 二、Redis概述(Redis零基础笔记) -图片十六.png

  11. 如何关闭Redis服务呢? shutdown 二、Redis概述(Redis零基础笔记) -图片十七.png

  12. 再次查看进程是否存在 二、Redis概述(Redis零基础笔记) -图片十八.png

  13. 后面我们会使用单机多Redis启动集群测试!

4、测试性能

redis-benchmark 是一个压力测试工具!

官方自带的性能测试工具!

redis-benchmark 命令参数!

图片来自菜鸟教程: 二、Redis概述(Redis零基础笔记) -图片十九.png

我们来简单测试下:

# 测试:100个并发连接 100000请求redis-benchmark -h localhost -p 6379 -c 100 -n 100000

二、Redis概述(Redis零基础笔记) -图片二十.png

如何查看这些分析呢?

二、Redis概述(Redis零基础笔记) -图片二十一.png

5、基础的知识

redis默认有16个数据库

二、Redis概述(Redis零基础笔记) -图片二十二.png

默认使用的是第0个

可以使用 select 进行切换数据库!

127.0.0.1:6379> select 3 # 切换数据库OK127.0.0.1:6379[3]> DBSIZE # 查看DB大小!(integer) 0

二、Redis概述(Redis零基础笔记) -图片二十三.png

127.0.0.1:6379[3]> keys * # 查看数据库所有的key1) "name"
  • 清除当前数据库 flushdb

  • 清除全部数据库的内容 FLUSHALL

127.0.0.1:6379[3]> flushdb   #清楚当前数据库OK127.0.0.1:6379[3]> keys *(empty list or set)

思考:为什么redis是 6379!

Redis 是单线程的!

明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!

Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的Memecache差!

Redis 为什么单线程还这么快?

  1. 误区1:高性能的服务器一定是多线程的?

  2. 误区2:多线程(CPU上下文会切换!)一定比单线程效率高!

先去CPU>内存>硬盘的速度要有所了解!

核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!

0

评论区