概述
redis是什么
Redis ( Remote Dictionary Server ),即远程字典服务
是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
免费和开源!是当下最热门的NoSQL技术之一,也被人们称之为结构化数据库
redis能干嘛
1、内存存储、持久化,内存中是断电即失、所以说持久化很重要( rdb. aof )
2、效率高,可以用于高速缓存
3、发布订阅系统
4、地图信息分析
5、计时器、计数器(浏览量! )
redis的特性
1、多样的数据类型
2、持久化
3、集群
4、事务
学习网站
1、官网:https://redis.io
2、中文网:http://redis.cn/
注意:Wdinow在Github上下载(停更很久了 )
Redis推荐都是在Linux服务器上搭建的
Redis 在 Windows 下安装
https://www.bilibili.com/video/BV1S54y1R7SB?p=8
Redis 在 Linux下安装
https://www.bilibili.com/video/BV1S54y1R7SB?p=9
1、下载安装包
2、使用 Xshell 传输文件
https://www.cnblogs.com/nbf-156cwl/p/8641165.html
3、移动并解压安装包
mv redis-6.0.3.tar.gz /opt
tar -zxvf redis-6.0.3.tar.gz
4、进入解压后的文件,可以看到我们 redis 的配置文件
5、安装 gcc-c++ 、检查版本、make 命令
yum install gcc-c++
gcc -v
make
如果报错(然后再执行 make 和 make install 命令)
[root@xiaoyequ redis-6.0.3] gcc -v # 查看gcc版本
[root@xiaoyequ redis-6.0.3] yum -y install centos-release-scl # 升级到9.1版本
[root@xiaoyequ redis-6.0.3] yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
[root@xiaoyequ redis-6.0.3] scl enable devtoolset-9 bash
# 以上为临时启用,如果要长期使用gcc 9.1的话:
[root@xiaoyequ redis-6.0.3] echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
6、redis 的安装目录 ( usr/local/bin )
7、将redis配置文件复制到我们当前目录下
8、redis默认不是后台启动的,需要修改配置文件
9
9、启动 redis 服务
10、测试客户端连接
11、查看redis的进程是否开启
12、关闭 redis 服务
测试性能
redis-benchmark 是一个压力测试工具
官方自带的性能测试工具
redis- benchimark 命令参数
序号 | 选项 | 描述 | 默认值 |
---|---|---|---|
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 | 通过管道传输 <numreq> 请求 | 1 |
10 | -q | 强制退出 redis。仅显示 query/sec 值 | |
11 | --csv | 以 CSV 格式输出 | |
12 | -l | 生成循环,永久执行测试 | |
13 | -t | 仅运行以逗号分隔的测试命令列表。 | |
14 | -I | Idle 模式。仅打开 N 个 idle 连接并等待。 |
测试:100个并发连接,100000请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000