2、Redis:入门

2.1、概述

2.1.1、Redis是什么

Redis(Remote Dictionary Server),即远程服务字典!
在这里插入图片描述

是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

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

2.1.2、Redis能干嘛

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

2.1.3、特性

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

2.1.4、学习中需要到的东西

1、官网:https://redis.io/
2、中文网:http://www.redis.cn/
3、下载地址:通过官网下载即可!
在这里插入图片描述
注意:Windows在 Github上下载(停更很久了!)

Redis推荐都是在Linux服务器上搭建的,我们是基于Linux学习

2.2、Windows安装

1、下载安装包:https://github.com/dmajkic/redis/releases
2、下载完毕得到压缩包:
在这里插入图片描述
3、解压到自己电脑上的环境目录下就可以了!Redis十分的小,只有5M

在这里插入图片描述
4、开启Redis,双击运行服务即可!
在这里插入图片描述
在这里插入图片描述
5、使用redis客户端来连接redis
在这里插入图片描述
在这里插入图片描述
记住一句话:Windows下使用确实简单,但是Redis推荐我们使用Linux去开发使用!

2.3、Linux安装

1、下载安装包
在这里插入图片描述
2、在opt目录中新建一个redis目录,把下载好的文件通过ftp拉去过来
在这里插入图片描述

3、通过cd /opt/redis/进入到redis目录下
4、解压缩安装包

tar -zxvf redis-5.0.9.tar.gz

5、进入解压后的文件,可以看到我们redis的配置文件
在这里插入图片描述
6、安装基本的环境

yum install gcc-c++

7、查看版本

gcc -v

在这里插入图片描述
8、make命令

make

9、再make一下

在这里插入图片描述
10、make install
在这里插入图片描述
11、redis默认的路径 usr/local/bin
在这里插入图片描述
12、将我们的配置文件,复制到我们当前目录下

mkdir myconfig
cp /opt/redis/redis-5.0.9/redis.conf myconfig
cd myconfig/
ls

在这里插入图片描述
13、redis默认不是后台启动的,修改配置文件!

vi redis.conf

在这里插入图片描述

:wq

14、启动Redis服务!

redis-server myconfig/redis.conf 

在这里插入图片描述
15、使用redis-cli进行测试连接

在这里插入图片描述
16、查看redis的进程是否开启
在这里插入图片描述

17、关闭redis服务
在这里插入图片描述
18、再次查看进程是否存在
在这里插入图片描述

2.4、测试性能

redis-benchmark 是一个压力测试工具!

官方自带的性能测试工具
在这里插入图片描述
我们来测试下:

# 测试: 100个并发连接 100000请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000

在这里插入图片描述
如何查看这些分析呢
在这里插入图片描述

2.5、基础的知识

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

127.0.0.1:6379[3]> flushdb
OK
127.0.0.1:6379[3]> keys *
(empty list or set)

清楚全部数据库的内容 FLUSHALL

127.0.0.1:6379[3]> select 0
OK
127.0.0.1:6379> keys *
1) "name"
2) "counter:__rand_int__"
3) "mylist"
4) "myset:__rand_int__"
5) "key:__rand_int__"
127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]> FLUSHALL
OK
127.0.0.1:6379[3]> select 0
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> 

思考:为什么redis端口号是6379!(了解一下即可!)

2.6、Redis是单线程的!

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

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

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

1、误区1:高性能的服务器一定是多线程的!

2、误区2:多线程(CPU上下文会切换!)一定比单线程效率高!

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

学习视频连接:https://www.bilibili.com/video/BV1S54y1R7SB?p=9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值