Day148.Redis入门介绍、安装、基本知识 -Redis

Redis入门介绍

一、入门概述

1、是什么

Redis:REmote DIctionary Server(远程字典服务器)

  • 是完全开源免费的,用C语言编写的,遵守BSD协议,
  • 是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化NoSQL数据库,
  • 是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器

Redis 与其他 key - value 缓存产品有以下三个特点

1、支持数据的持久化

2、支持多种数据结果存储

3、支持数据备份,master-slave模式

.

2、能干嘛

  • 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务

  • 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面

  • 模拟类似于HttpSession这种需要设定过期时间的功能

  • 发布、订阅消息系统

  • 定时器、计数器

.

3、去哪下

  • Http://redis.io/

Day148.Redis入门介绍、安装、基本知识 -Redis_第1张图片

  • Http://www.redis.cn/

Day148.Redis入门介绍、安装、基本知识 -Redis_第2张图片

.

4、怎么玩

  • 数据类型、基本操作和配置

  • 持久化和复制,RDB/AOF

  • 事务的控制(部分事务控制,更加灵活)

  • 复制

.

二、Redis的安装

1、Windows版安装

  • 下载地址:https://github.com/dmajkic/redis/downloads,根据自身情况,下载64或32位版本
  • 将64bit的内容cp到自定义盘符安装目录取名redis。
  • 如 C:\reids打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行 。
redis-server.exe redis.conf 
  • 如果想方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略,
    如果省略,会启用默认的。输入之后,会显示如下界面:

Day148.Redis入门介绍、安装、基本知识 -Redis_第3张图片

  • 这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
  • 切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
  • 设置键值对 set myKey abc
    取出键值对 get myKey

Day148.Redis入门介绍、安装、基本知识 -Redis_第4张图片

.

2、重要提示:

由于企业里面做Redis开发,99%都是Linux版的运用和安装,几乎不会涉及到Windows版,

上一步的讲解只是为了知识的完整性,Windows版不作为重点,同学可以下去自己玩,企业实战就认一个版:Linux

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kc1rjc7h-1609303153904)(C:\Users\PePe\AppData\Roaming\Typora\typora-user-images\image-20201229211313496.png)]

.

3、Linux版安装

1、下载安装包

redis-5.0.7.tar.gz

2、解压Redis的安装包, 程序/opt

Day148.Redis入门介绍、安装、基本知识 -Redis_第5张图片

3、进入解压后的文件,可以按到redis的配置文件

Day148.Redis入门介绍、安装、基本知识 -Redis_第6张图片

4、基本的环境安装

1、yum install gcc-c++

2、gcc -v 查看版本 查看是否安装成功

3、make 下载环境

4、make install 查看安装是否完毕

Day148.Redis入门介绍、安装、基本知识 -Redis_第7张图片

Day148.Redis入门介绍、安装、基本知识 -Redis_第8张图片

Day148.Redis入门介绍、安装、基本知识 -Redis_第9张图片

5、redis默认安装路径/usr/local/bin

Day148.Redis入门介绍、安装、基本知识 -Redis_第10张图片

6、将redis配置文件redis.conf,备份一份在 /myredis下(目录随意选择)

Day148.Redis入门介绍、安装、基本知识 -Redis_第11张图片

7、redis默认不是后台启动的,修改配置文件

Day148.Redis入门介绍、安装、基本知识 -Redis_第12张图片

8、使用redis-server启动redis服务

/usr/local/bin目录下运行对应的文件

Day148.Redis入门介绍、安装、基本知识 -Redis_第13张图片

9、使用redis-cli进行连接服务

Day148.Redis入门介绍、安装、基本知识 -Redis_第14张图片

10、查看redis进程是否开启

Day148.Redis入门介绍、安装、基本知识 -Redis_第15张图片

11、关闭redis服务

Day148.Redis入门介绍、安装、基本知识 -Redis_第16张图片

12、再次查看进程是否存在

Day148.Redis入门介绍、安装、基本知识 -Redis_第17张图片

13、后面会使用单击多Redis启动

.

4、测试性能

  • 前提保证redis服务是运行的

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

官方自带的性能测试工具

Day148.Redis入门介绍、安装、基本知识 -Redis_第18张图片

使用语法:

redis-benchmark -命令参数

命令参数:

Day148.Redis入门介绍、安装、基本知识 -Redis_第19张图片

测试:

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

Day148.Redis入门介绍、安装、基本知识 -Redis_第20张图片

Day148.Redis入门介绍、安装、基本知识 -Redis_第21张图片

.

三、基础知识

1、基础指令

keys * #查看所有key
dbsize #查看当前数据库大小
flushdb #清空当前数据库数据
flushall #清空所有数据库数据

redis默认有16个数据库:

Day148.Redis入门介绍、安装、基本知识 -Redis_第22张图片

默认使用的是第0个

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

Day148.Redis入门介绍、安装、基本知识 -Redis_第23张图片

redis数据库之前的数据是不一样的:

Day148.Redis入门介绍、安装、基本知识 -Redis_第24张图片

keys *查看所有key:

Day148.Redis入门介绍、安装、基本知识 -Redis_第25张图片

flushdb清空当前数据库:

Day148.Redis入门介绍、安装、基本知识 -Redis_第26张图片

flushall清空所有数据库:

Day148.Redis入门介绍、安装、基本知识 -Redis_第27张图片

思考:为什么redis是6379(了解)

.

2、Redis是单线程的

Redis6.0以上使用了多线程

  • 要明白Redi很快

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

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

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

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

多线程是为了减少主线程的阻塞时间

误区2:多线程一定比单线程效率高

redis将所有的数据放进内存中的,所有使用单线程操作效率是最高的不用考虑IO复用,CPU上下文切换消耗资源时间

redis QPS 高,用多线程的话,产生的CPU切换消耗反而损耗性能,java锁就是能不切换线程,就不切多线程了

感谢狂神!!!
https://www.bilibili.com/video/BV1S54y1R7SB?p=12

你可能感兴趣的:(Redis,数据库,redis,java,linux)