Redis入门 概述
Redis 是什么?
Redis(Remote Dictionary Server ),即远程字典服务 ! 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave(主从)同步。
免费和开源!是当下最热门的 NoSQL 技术之一!也被人们称之为结构化数据库!
Redis 能干嘛?
1、内存存储、持久化,内存中是断电即失、所以说持久化很重要(rdb、aof)
2、效率高,可以用于高速缓存
3、发布订阅系统
4、地图信息分析
5、计时器、计数器(浏览量!)
6、…
特性
1、多样的数据类型
2、持久化
3、集群
4、事务
…
下载地址:redis官网
注意:Windows在 Github上下载(停更很久了!,但不是不能作为学习使用,但还是推荐linux)
Redis推荐都是在Linux服务器上搭建的,我们是基于Linux学习!
Windows安装
1、下载安装包:redis git地址
2、下载完毕得到压缩包:
3、解压到自己电脑上的环境目录下的就可以的!Redis 十分的小,只有5M
4、开启Redis,双击运行服务即可!
5、使用redis客户单来来连接redis
记住一句话,Window下使用确实简单,但是Redis 推荐我们使用Linux去开发使用!
**说了这么久,还是要进入正题啊,接下来给大家看看linux上的安装😂**
Linux安装
1、下载安装包! redis-5.0.8.tar.gz
2、解压Redis的安装包! 程序/opt
3、进入解压后的文件,可以看到我们redis的配置文件
4、基本的环境安装
yum install gcc-c++
make
make install
5、redis的默认安装路径 /usr/local/bin
6、将redis配置文件。复制到我们当前目录下
7、redis默认不是后台启动的,修改配置文件!
8、启动Redis服务!
9、使用redis-cli 进行连接测试!
10、查看redis的进程是否开启!
11、如何关闭Redis服务呢? shutdown
12、再次查看进程是否存在
13、后面我们会使用单机多Redis启动集群测试(请大家继续关注)!
测试性能
redis-benchmark 是一个压力测试工具!
官方自带的性能测试工具!
redis-benchmark 命令参数!
图片来自菜鸟教程:
我们来简单测试下:
# 测试:100个并发连接 100000请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
如何查看这些分析呢?
基础的知识
redis默认有16个数据库
redis入门基础及redis安装(二)
默认使用的是第0个
可以使用 select 进行切换数据库!
127.0.0.1:6379> select 3 # 切换数据库
OK
127.0.0.1:6379[3]> DBSIZE # 查看DB大小!
(integer) 0
127.0.0.1:6379[3]> keys * # 查看数据库所有的key
1) "name"
清除当前数据库 flushdb
清除全部数据库的内容 FLUSHALL
127.0.0.1:6379[3]> flushdb
OK
127.0.0.1:6379[3]> keys *
(empty list or set)
Redis 是单线程的!
明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据 机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!
所有就使用了单线程了! Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的 Memecache差!
Redis 为什么单线程还这么快?
1、误区1:高性能的服务器一定是多线程的?
2、误区2:多线程(CPU上下文会切换!)一定比单线程效率高! 先去CPU>内存>硬盘的速度要有所了解! 核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程 (CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高 的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!
好啦,终于搞完了😂😂😂,明天将会退出redis的基础数据类型和进阶数据类型,请大家多多关注,记得点赞关注哦😊!!!