Redis之入门

本文摘录自狂神说
公众号:狂神说

概述

Redis是什么?

Redis(Remote Dictionary Server),即远程字典服务!

是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
在这里插入图片描述
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

免费和开源!是当下最热门的NoSQL技术之一!也被人们称之为结构化数据库!

Redis能干嘛?

1.内存存储、持久化,内存中是断电即失、所以说持久化很重要(rdb、aof)
2.效率高,可以用于高速缓存
3.发布订阅系统
4.地图信息分析
5.计时器、计数器(浏览量!)

特性

1.多样的数据类型
2.持久化
3.集群
4.事务

学习中需要用到的东西

1.狂神的公众号:狂神说
2.官网:https://redis.io/
在这里插入图片描述
3.中文网:http://www.redis.cn/
4.下载地址:通过官网下载即可!
在这里插入图片描述
注意:Wdinow在Github上下载(停更很久了!)
Redis推荐都是在Linux服务器上搭建的,我们是基于Linux学习!

Windows安装

1.下载安装包:https://github.com/dmajkic/redis/releases
2.下载完毕得到压缩包
在这里插入图片描述
3.解压到自己电脑上的环境目录下的就可以的!Redis十分的小,只有5M。
在这里插入图片描述
4. 开启Redis,双击运行服务即可!
在这里插入图片描述
5. 使用redis客户端来连接redis
在这里插入图片描述
记住一句话,Window下使用确实简单,但是Redis推荐我们使用Linux去开发使用!
在这里插入图片描述

Linux安装

1.下载安装包!(.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个数据库
在这里插入图片描述
默认使用的是第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是6379!(了解一下即可!)

Redis是单线程的!

明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!

Redis是C语言写的,官方提供的数据为100000+的QPS,完全不比同样是使用key-vale的Memecache差!

Redis为什么单线程还这么快?

  1. 误区1:高性能的服务器一定是多线程的?
  2. 误区2:多线程(CPU上下文会切换!)一定比单线程效率高!

先去CPU>内存>硬盘的速度要有所了解!

核心:redis是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值