Skip to content

Latest commit

 

History

History
82 lines (71 loc) · 4.81 KB

Redis入门.md

File metadata and controls

82 lines (71 loc) · 4.81 KB

Redis是什么?

Redis(remote dictionary server),远程字典服务
开源的使用C语言编写,支持网络、可基于内存亦可支持持久化、k-v数据库、提供多种语言等等

Redis能干嘛?

  1. 内存存储、持久化,内存中是断电即失、持久化很重要(RDB、AOF)
  2. 效率高,可以用作高速缓存
  3. 发布订阅系统
  4. 地图信息分析
  5. 计时器、计数器(浏览量)
  6. ...

特性

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

Redis安装

Windows安装

直接GitHub下载压缩包解压即可。
地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100
开启Redis:双击redis-server.exe文件即可。
使用客户端连接Redis:打开redis-cli.exe即可。输入ping命令,返回PONG即ok。

Linux安装

1、进入官网下载安装包

地址:https://redis.io/download/

2、将安装包传到服务器上

使用xftp工具传输到服务器上。这里我放在/opt目录下

3、进行解压

使用tar -zxvf redis-7.0.10.tar.gz进行解压。

4、安装gcc编译

yum install gcc-c++
通过gcc -v查看版本,有版本号即成功。
但是这里有个问题,因为redis 6.0以上的版本需要gcc高版本。所以使用以下命令升级为gcc 9.*
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
然后进入 /opt目录下使用make,然后等待环境配好。
然后再次输入make install,等待配好即可。

5、默认路径

redis默认安装位置为/usr/local/bin

6、拷贝配置文件

/opt/redis-7.0.10/redis.conf拷贝到/usr/local/bin下面新建的redisconfig目录下。

7、修改配置文件

修改/usr/local/bin/redisconfig/redis.conf文件
将其中的daemonizeno改为yes

8、运行redis

/usr/local/bin目录下使用命令redis-server redisconfig/redis.conf运行,
然后使用redis-cli -p 6379可以连接redis服务器。
输入ping,若返回为PONG即为成功。

9、查看redis进程

ps -ef|grep redis

10、退出服务

在连接界面输入shutdown关闭redis连接,然后输入exit即可。
可以再次查看redis进程看是否关闭。

测试性能

使用redis-benchmark加指定参数测试。
首先打开redis服务,输入下面命令测试:
redis-benchmark -h localhost -p 6379 -c 100 -n 10000
随机截取一点来看看:
image.png
可以看到10000条请求在0.19秒就完毕!100个客户端并发!可以看到redis的速度真的非常恐怖。

基础知识

redis,默认有16个数据库
image.png
默认使用的是第9个
可以使用select进行切换不同的数据库

select 3 # 切换数据库

dbsize # 查看数据库大小

keys * # 查看所有key

flushdb # 清空当前数据库

flushall # 清空全部数据库


Redis是单线程的!
Redis是很快的,基于内存操作,CPU不是性能瓶颈,Redis瓶颈是根据机器的内存和网络带宽。
为什么单线程还这么快?

  1. 误区1:高性能的服务器一定是多线程的?
  2. 误区2:多线程(CPU上下文会切换)一定比单线程效率高

核心:Redis多有数据都放在内存中,所以说使用单线程区操作效率就是最高的,因为多线程需要CPU上下文切换,对于内存系统来说,没有上下文切换,效率就是最高的。多次读写都在一个CPU下。