Redis入门
概述
Redis是什么?
Redis(Remote Dictionary Server ),即远程字典服务!
是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis能干嘛?
1、内存存储、持久化,内存是断电即失,所以说持久化很重要(RDB、AOF)
2、熊率高,可用于高速缓存
3、发布订阅系统
4、地图信息分析
5、计时器、计数器(浏览量!)
…
特性
1、多样的数据类型
2、持久化
3、集群
4、事务
…
学习中需要用到的东西
1、官网:https:redis.io/
2、中文网:http://www.redis.cn/
3、下载地址:通过官网下载
注意:Windows在Github上下载(停更很久了!)
Redis推荐都是在Linux服务器上搭建的
Windows安装
1、下载安装包
2、解压
3、开启redis,双击运行服务即可!
4、使用redis客户端来链接redis
Linux安装
1、安装
2、解压
3、进入解压后的文件,可以看到redis的配置文件
4、基本的环境安装
yum install gcc-c++
make
make install
5、redis的默认安装路径 /usr/local/bin
6、复制配置文件
7、
8、根据复制的配置文件启动Redis
9、使用客户端进行链接
测试性能
redis-benchmark 是一个压力测试工具
官自带测试性能工具!
简单测试:
#测试:100个并发链接 100000请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
基础知识
redis默认有16个数据库
默认使用的是第0个
可以用select进行切换
select 3 #切换到第3个库
DBSIZR #数据库大小
keys * #查看所有的key
flushdb #清空所有的数据库
FLUSHALL #清空所有数据库内容
Redis是单线程的
Redis是很快的,官方表示,redis是基于内存操作的,CPU不是redis性能的瓶颈,redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就是用了单线程
Redis是吃语言写的,官方提供的数据为100000+的QPS
Redis为什么单线程还这么快?
1、误区1:高性能的服务器一定是多线程的?
2、误区2:都现成(CPU上下文会切换)一定比单线程效率高!
先去了解CPU > 内存 > 硬盘的速度要有所了解!
核心:redis是将所有的数据全部放在内存中的,所以说单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!