Redis(狂神)
一.概括
1.Redis是什么?
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
2.Redis能干什么
- 内存储存、持久化、内存中的数据是断电及失、所以说持久化很重要!(rdb、aof)
- 效率高、可以用于告诉缓存
- 发布订阅系统
- 地图信息分析
- 计时器、计数器、(数据浏览量)
3.Redis特性
- 持久化
-
多样化数据库
-
集群
-
事务
4.Redis官网
Redis
CRUG网站 (redis.cn)中文网:CRUG网站 (redis.cn)
二.安装Redis
1.Windows安装
下载地址:Release 3.2.100 · microsoftarchive/redis (github.com)
下载后直接解压获得
双击 redis-server.exe
启动Redis服务器
双击redis-cli.exe运行redis客户端
这是我们就可以使用但是我们一般在Linu上使用
2.Linux安装
- 我们去官网下载安装包
- 上传到opt目录下
- 输入tar -zxvf 安装包 解压安装包
- 进入解压出来的目录
- 环境安装
yum -y install gcc-c++ 学习Linux时已安装过 gcc -v 查看信息 make 配置全部环境 make install
- redis的默认安装路径在 /usr/local/bin
- 在/usr/local/bin下新建我们自己的目录 mkdir jconfig
- cp /opt/redis-6.0.6/redis.conf jconfig 把redis.config移动我们新建的包下
- redis默认不是后台启动的,需要我们去修改配置文件 vim redis.conf
daemonize原本是no,我们改为yes就行
-
redis-server jconfig/redis.conf 启动redis
-
redis-cli -p 6379 进行连接测试
-
ping 查看是否启动成功,返回pong就是启动成功,就可以使用了
-
shutdown 关闭redis
-
exit 退出redis
三.性能测试
1.*redis-benchmark是一个官方自带的性能测试工具
redis-benchmark测试工具可选参数如下·:
2.测试
# 测试:100个并发连接 100000请求 需要在/usr/local/bin 下执行
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
四.基础知识
1.redis有16个数据库分别是DB0~DB15,默认使用的是DB0,
- select 数字 切换到数字的数据库
dbsize
可以查看当前数据库的大小(大小取决于有多少个key)- keys * 查看所有的key
- flushdb 清空当前数据库中的内容。
- flushall 清空所有数据库中的内容。
2.redis为什么是单线程的?
redis是基于内存的操作,CPU不是redis的性能瓶颈而是机器内存和网络带宽,所以单线程可以满足redis的的需求就是用了单线程。
3.redis是单线程为什么还这么快?
误区1:高性能的服务器一定是多线程的?
误区2:多线程(CPU上下文会切换!)一定比单线程效率高!
Redis是将所有的数据放在内存中的,所以说使用单线程去操作效率是最高的,多线程(CPU上下文会切换:耗时的操作!),对于内存系统来说如果没有上下文切换效率是最高的,多次读写都是在一个CPU上在内存存储数据情况下单线程就是最佳的方案。