Redis(二)------Redis入门

Redis(二)------Redis入门及安装

3、安装Redis

3.1 Windows下安装

  • 在Githup下载,但是官方不建议在Windows上搭建,推荐在Linux上搭建使用
  • 下载完毕得到压缩包,解压到自己电脑的环境目录即可,非常小,只有5M左右
  • 开启服务,运行redis-server.exe即可
  • redis默认端口号:6379
  • 不要关闭服务,使用Redis客户端来连接redis,运行redis-cli.exe,输入ping命令,测试是否连接,输出PONG证明连接成功
  • 存入数据set name zzz,取出数据get name,输出zzz,就像key-value键值对
  • Windows操作系统下,使用Redis相对简单,但Redis官方推荐使用Linux去开发

3.2 Linux下安装

  • Redis官网:CRUG网站 (redis.cn)

  • 下载安装包,将安装包传到Linux系统中

  • 解压安装包,tar -zxvf redis-6.0.6.tar.gz

在这里插入图片描述

  • 进入解压后的文件,可以看到Redis的配置文件redis.conf

在这里插入图片描述

  • 安装基本环境:yum install gcc-c++

  • 更新gcc版本到7:sudo yum install centos-release-sclsudo yum install devtoolset-7-gcc*scl enable devtoolset-7 bash

  • 执行make命令,会配置所有需要的文件,需要部分时间

在这里插入图片描述

  • redis默认安装路径:usr/local/bin,如果找不到,去redis中的src目录,笔者是在src目录中找到的

在这里插入图片描述

  • 将redis配置文件复制到当前目录下:新建文件夹mkdir myredisconfig,复制cp /usr/local/redis-6.0.6/redis.conf myredisconfig
  • 注意:新建myredisconfig时,放在redis目录下,不要放在src目录中!!!!!!
  • 之后使用这个配置文件进行启动!

在这里插入图片描述

  • Redis默认不是后台启动,修改配置文件,进行后台启动,修改配置文件,改为yes,这样就可以默认后台启动啦

在这里插入图片描述

  • 启动Redis服务:./redis-server myredisconfig/redis.conf
  • 测试是否链接成功:./redis-cli -p 6379,使用Redis链接指定端口号

在这里插入图片描述

  • 基本命令

在这里插入图片描述

  • 查看Redis进程是否开启:ps -ef|grep redis

在这里插入图片描述

  • 如何关闭Redis服务?shutdownexit

在这里插入图片描述

4、Redis入门

4.1 Redis是什么

  • Redis(Remote Dictionary Server),即远程字典服务。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并且提供多种语言API。被人称为结构化数据库。

4.2 Redis可以做什么?

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

  • 效率高,可以用于高速缓存

  • 发布订阅系统

  • 地图信息分析

  • 计时器、计数器

  • Redis中文官网:CRUG网站 (redis.cn)

4.3 Redis性能测试

  • redis-benchmark是一个压力测试工具,官方自带的性能测试工具

  • Redis性能测试是通过同时执行多个命令实现的

  • Redis性能测试基本命令:redis-benchmark [option] [option value],该命令是在redis目录下执行的,而不是redis客户端内部命令

  • Redis性能测试工具可选参数

序号 选项 描述 默认值
1 -h 指定服务器主机名 127.0.0.1
2 -p 指定服务器端口 6379
3 -s 指定服务器socket
4 -c 指定并发连接数 50
5 -n 指定请求数 10000
6 -d 以字节的形式指定SET/GET值的数据大小 3
7 -k 1 = keep alive 0 = reconnect 1
8 -r SET/GET/INCR 使用随机key,SADD使用随机值
9 -P 通过管道传输请求 1
10 -q 强制退出redis,仅显示query/sec值
11 -csv 以CSV的格式输出
12 -l 生成循环,永久执行测试
13 -t 仅运行以逗号分隔的测试命令列表
14 -I Idle模式,仅打开N个idle链接并等待
4.3.1 实例一
  • 同时执行10000个请求来检测性能:./redis-benchmark -n 10000 -q
4.3.2 实例二
  • 100个并发连接100000个请求:./redis-benchmark -h localhost -p 6379 -c 100 -n 100000

4.4 基本知识

  • Redis默认有16个数据库,默认使用的是第0个,可以使用select命令进行切换数据库:select 要切换数,例:select 3

  • 查看DB大小:DBSIZE,仅针对当前数据库

  • 清空当前数据库:flushdb

  • 清空全部数据库的内容:FLUSHALL

  • 查看数据库中所有的key:key *

  • Redis是单线程的!Redis是基于内存操作的,CPU不是Redis的性能瓶颈,Redis的瓶颈是机器的内存网络带宽,既然可以使用单线程来实现,所以就使用了单线程。

  • 官方提供数据为100000+的QPS,完全不比Memcache差

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

    • 误区:高性能的服务器不一定是多线程的
    • 误区:多线程(与CPU有关)不一定比单线程效率高
    • 核心:Redis是将所有的数据全部放在内存中,所以说,使用单线程去操作效率最高(CPU上下文切换,会耗时),对于内存系统来说,如果没有上下文切换,效率就是最高的。多次读写都是在一个CPU上,所对于一个内存来说,单线程就是最佳方案

猜你喜欢

转载自blog.csdn.net/weixin_44176393/article/details/123614511