Redis(二)【入门之安装教程(Windows + Linux)】
Redis是什么Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的APIredis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步Redis能干嘛1、内存存储、持久化,内存中是
二、Redis入门
概述
Redis是什么
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步
Redis能干嘛
1、内存存储、持久化,内存中是断电即失,所以说持久化很重要(RDB、AOF)
2、效率高,可以用于高速缓存
3、发布订阅系统
4、地图信息分析
5、计时器、计数器(浏览量)
…
特性
1、多样的数据类型
2、持久化
3、集群
4、事务
【注意】Windows 在 Github上下载
Redis推荐都是在Linux服务器上搭建
Redis 使用 ANSI C 编写并且能在绝大Linux系统上运行,基于BSD协议,对OS X没有外部依赖. 我们支持Linux 和 OS X 两种系统的开发和测试,我们推荐使用Linux部署. Redis 可以像 SmartOS 一样运行在 Solaris 系统中, 但是我们会最大力度的支持它. 官方不支持 Windos版本的 Redis,但微软开发和维护着支持win-64 的Redis版本
(一)Windows安装
Github:https://github.com/MicrosoftArchive/redis/releases
- 下载Redis
- 开启Redis,选择服务redis-server.exe双击开启
- 再选择客户端redis-cli.exe双击启动,在客户端输入ping,返回PONG则说明连接成功了
测试连接
Windows下使用确实简单,但是 Redis 推荐我们使用 Linux 去开发
(二)Linux安装
- 下载安装包redis-6.0.16.tar.gz
https://redis.io/download/#redis-downloads
- 将安装包上传到虚拟机Linux中
没有XShell可以参考《Linux操作系统CentOS7连接XShell》
- 在Linux中解压安装包
tar -zxvf redis-6.0.16.tar.gz
- 进入解压后的文件,可以看到我们的redis的配置文件
- 基本的环境安装
# 安装C++环境
yum install gcc-c++
# 检查配置环境
gcc -v
再执行make命令(有点慢,稍微等等)
make
如果报错了,那么执行以下的安装环境命令
1)安装gcc套装
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
2)升级gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
3)设置永久升级
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
再次执行make命令即可
检验是否安装成功
make install
- redis的默认安装路径
usr/local/bin
- 将redis配置文件复制到
/usr/local/bin/config
下
mkdir config
cp /usr/local/redis/redis-6.0.16/redis.conf config
- redis默认不是后台启动的,需要修改配置文件
# 查询快捷键,进去之后按"/"+[关键字]
vim redis.conf
- 启动Redis服务
redis-server config/redis.conf
- 使用redis进行连接测试
redis-cli -p 6379
- 查看redis的进程是否开启
ps -ef|grep redis
- 关闭Redis服务
(三) 测试性能
redis-benchmark是一个压力测试工具
官方自带的性能测试工具
redis 性能测试工具可选参数如下所示
序号 | 选项 | 描述 | 默认值 |
---|---|---|---|
1 | -h | 指定服务器主机名 | 127.0.0.1 |
2 | -p | 指定服务器端口 | 6379 |
3 | -s | 指定服务器 socket | |
4 | -c | 指定并发连接数 | 50 |
5 | -n | 指定请求数 | 10000 |
6 | -d | 以字节的形式指定 SET/GET 值的数据大小 | 2 |
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(L 的小写字母) | 生成循环,永久执行测试 | |
13 | -t | 仅运行以逗号分隔的测试命令列表。 | |
14 | -I(i 的大写字母) | Idle 模式。仅打开 N 个 idle 连接并等待。 |
测试
在连接的情况下,进行测试
# 测试100个并发连接 每个并发10w个请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
(四)基础知识
redis 默认有16个数据库
默认使用的是第0个
可以使用select进行切换数据库
127.0.0.1:6379> select 3 # 切换数据库
OK
127.0.0.1:6379[3]> DBSIZE # 数据库大小
(integer) 0
127.0.0.1:6379[3]> flushdb # 清除对应数据库内容
OK
127.0.0.1:6379[1]> FLUSHALL # 清除所有数据库的内容
OK
Redis是单线程的
Redis 是很快的,官方表示,Redis是基于内存操作的,CPU并不是Redis性能瓶颈,是根据机器的内存和网络带宽
Redis 是用C语言写的,官方提供的数据为10w+ 的 QPS(Query Per Second),说明不比同样的 key-value 的 Memcache 差
Redis为什么单线程还那么快?
1、高性能的服务不一定是多线程
2、多线程(一个CPU上下文会切换)一定比单线程效率高
速度:CPU > 内存 > 硬盘
核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时),对于内存系统来说,如果没有上下文切换,效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案
更多推荐
所有评论(0)