1、概述
什么是Reids
Redis(Remote Dictionary Server),即远程字典服务
是一个开源的使用ASNSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
免费和开源,当下最热门的NoSQL技术之一,也被人们称之为结构化数据库

redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis能干吗?
内存存储、持久化、内存是断电即失,所以说持久化很重要(rdb、aof)
效率高,可以用于高速缓存
发布订阅系统
地图信息分析
计时器、计数器(浏览量)
......
特性
多样的数据类型
持久化
集群
事务
......
学习需要的东西

中文网 http://redis.cn/ 下载地址:通过官网下载即可!

注意:Wdinow在 Github上下载(停更很久了!)
Redis推荐都是在Linux服务器上搭建的,我们是基于Linux学习!
2、Windows安装
下载完毕得到压缩包:

解压到自己电脑上的环境目录下的就可以的!Redis 十分的小,只有5M

开启Redis,双击运行服务即可!

使用redis客户单来来连接redis

记住一句话,Window下使用确实简单,但是Redis 推荐我们使用Linux去开发使用! 
3、Linux安装
解压Redis的安装包! 程序/opt
tar -zxvf redis-6.0.10.tar.gz进入解压后的文件,可以看到我们redis的配置文件

基本的环境安装
yum install gcc-c++ # 如果redis是6.0以上版本 安装会报errormakemake install
redis的默认安装路径
/usr/local/bin
将redis配置文件。复制到我们当前目录下

redis默认不是后台启动的,修改配置文件!

启动Redis服务!

使用redis-cli 进行连接测试!

查看redis的进程是否开启!

如何关闭Redis服务呢?
shutdown
再次查看进程是否存在

后面我们会使用单机多Redis启动集群测试!
4、测试性能
redis-benchmark 是一个压力测试工具!
官方自带的性能测试工具!
redis-benchmark 命令参数!
图片来自菜鸟教程: 
我们来简单测试下:
# 测试:100个并发连接 100000请求redis-benchmark -h localhost -p 6379 -c 100 -n 100000
如何查看这些分析呢?

5、基础的知识
redis默认有16个数据库

默认使用的是第0个
可以使用 select 进行切换数据库!
127.0.0.1:6379> select 3 # 切换数据库OK127.0.0.1:6379[3]> DBSIZE # 查看DB大小!(integer) 0
127.0.0.1:6379[3]> keys * # 查看数据库所有的key1) "name"清除当前数据库
flushdb清除全部数据库的内容
FLUSHALL
127.0.0.1:6379[3]> flushdb #清楚当前数据库OK127.0.0.1:6379[3]> keys *(empty list or set)思考:为什么redis是 6379!
Redis 是单线程的!
明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!
Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的Memecache差!
Redis 为什么单线程还这么快?
误区1:高性能的服务器一定是多线程的?
误区2:多线程(CPU上下文会切换!)一定比单线程效率高!
先去CPU>内存>硬盘的速度要有所了解!
核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!
评论区