Redis_入门

redis入门

1. 概述

1. 什么是Redis

  • Redis = Remote Dictionary Server 即远程字典服务

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

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

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

  • Redis支持数据的备份,即master-slave模式的数据备份。

2. Redis能干什么

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

3. Redis的特性

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

2. 安装

1. Windows版本

在Github上下载,Redis推荐都是在Linux服务器上搭建的

下载地址为 https://github.com/tporadowski/redis/releases

得到压缩包,解压到自己电脑的环境目录下即可

image-20201010094434260

开启Redis,双击运行server即可

image-20201010094543467

默认端口是6379

使用Redis客户端(cli)连接Redis,此时服务端不要关闭

image-20201010095007188

windows下使用确实简单,但是Redis推荐我们使用linux去开发

image-20201010100809903

2. 在Linux上安装

安装过程略,我们安装在 /opt 目录下,将一份配置文件拷贝到 /usr/local/bin/myconfig 目录下,以后修改这里的配置文件就可以了

启动Redis 在 /usr/local/bin 目录下,执行 redis-server myconfig/redis.conf 使用/myconfig中的配置文件启动

启动客户端测试 redis-cli -p 6379

image-20201020172130915

查看redis服务是否开启

image-20201020172319386

关闭redis服务 shutdown

3. 测试性能

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

测试100个并发连接,1s发送100000个请求

redis- benchmark -h Localhost -p 6379 -C 100 -n 100000

image-20201021101934594

参数解释

  • 对 100000 请求进行写入测试
  • 100 个并发客户端
  • 每次写入 3 个字节
  • 只有一台服务器来处理这些请求,单机性能

4. 基础知识

  • redis默认有16个数据库,默认使用的是第0个

    • 可以使用select进行切换数据库
    • image-20201021102525376

  • 查看数据库大小 dbsize

    • image-20201021102712400

  • **查看数据库所有的key keys ***

    • image-20201021102809099

  • 清除当前数据库 flushdb

    • image-20201021102853651

  • 清除全部数据库 flushall

    • image-20201021103034230

5. Redis是单线程的

  • Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,因此使用单线程来做
  • 为什么单线程还这么快
    • Redis是C语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样使用kv的Memecache差!
    • 误区1 : 高性能的服务器一定是多线程的
    • 误区2 : 多线程一定比单线程效率高 (由于CPU上下文会切换,不一定比单线程高)
    • 核心: redis是将所有的数据全部放在内存中,所以说使用单线程去操作,效率就是最高的! 对于内存系统来说,如果没有上下文切换效率就是最高的! 多次读写都是在一个CPU上的,在内存情况下这个就是最佳的解决方案

相关文章

文章浏览阅读1.3k次。在 Redis 中,键(Keys)是非常重要的概...
文章浏览阅读3.3k次,点赞44次,收藏88次。本篇是对单节点的...
文章浏览阅读8.4k次,点赞8次,收藏18次。Spring Boot 整合R...
文章浏览阅读978次,点赞25次,收藏21次。在Centos上安装Red...
文章浏览阅读1.2k次,点赞21次,收藏22次。Docker-Compose部...
文章浏览阅读2.2k次,点赞59次,收藏38次。合理的JedisPool资...