redis学习二、redis概述和安装

Redis是一款开源、高效的Key-Value数据库,常用于内存存储、缓存、发布订阅等场景。本文介绍了Redis的基本概念、安装步骤、配置修改、启动与关闭方法,以及性能测试。通过redis-benchmark工具,展示了Redis的高性能特性,单线程设计在内存操作中展现出优势。
摘要由CSDN通过智能技术生成

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介绍

  1. 官网:https://redis.io/
  2. 中文文档:http://www.redis.cn/
  3. github地址:http://github.com/antirez/redis

redis官方推荐在Linux环境下使用redis,Windows不推荐,不过微软是有维护的,不过版本过低,建议在Linux下使用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x4aaMxHA-1609317922161)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225190253531.png)]

Linux安装

  1. 官网下载https://redis.io/

  2. 解压Redis的安装包!程序一般放在 /opt 目录下用 tar -xzf 解压

  3. 进入解压后redis,看到我们的配置文件

  1. 环境安装

    # yum install gcc-c++
    # make
    # make install
    
  2. redis.sever的默认安装路径 /usr/local/bin

  3. 将opt/redis-6.0.9/redis.conf复制到usr/local/bin/wconfig下,wconfig是自己创建的,这样就是方便以后恢复配置文件,我们一般用bin下的redis.conf启动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M2mb5UJz-1609317922167)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225184752983.png)]

  1. 修改wconfig下的redis.conf配置,设置为后台启动,因为redis默认不是后台启动的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Rw24Nu2-1609317922171)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225184923287.png)]

  1. 启动redis服务

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LAvFPN0d-1609317922175)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225185455645.png)]

  2. 测试连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-91UNF9Fd-1609317922177)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225185523344.png)]

  1. 关闭服务并退出
# shudown 关闭服务
# exit    退出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XnSUJ2UQ-1609317922180)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225185607667.png)]

  1. 查看进程是否还存在,这里可以看到redis不在了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xRp4J5Av-1609317922182)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225194743300.png)]

测试性能

可以看到redis-benchmark ,他是一个测试工具,可以用它来测试redis的性能。官方自带!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iYqrx5W1-1609317922183)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225193229152.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vLJKBspQ-1609317922184)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225194448809.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QAVTodj2-1609317922186)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225195548923.png)]

我们来分析一下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZQ5kYlMB-1609317922187)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225195204261.png)]

可以看到redis有多快,官方说法是每秒可以写入80000次,读取110000次。

基础知识

redis默认室友16个数据库的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZIF5mfkO-1609317922189)(C:\Users\汪航\AppData\Roaming\Typora\typora-user-images\image-20201225195948595.png)]

默认使用的是第0个数据库。可以使用select切换数据库

127.0.0.1:6379> select 3  # 切换数据库
OK
127.0.0.1:6379[3]> dbSIZE # 查看数据库大小
(integer) 0
127.0.0.1:6379[3]> set name wh
OK
127.0.0.1:6379[3]> DBSIZE
(integer) 1
127.0.0.1:6379[3]> keys * # keys *查看数据库所有的key
1) "name"
127.0.0.1:6379[3]> flushdb# 清空当前数据库
OK

清除当前数据库 flushdb 清除全部数据库的内容 FLUSHALL

redis是单线程的!

明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据 机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了! Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的 Memecache差!

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值