【测试开发必备】Redis 快速入门

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
😊 座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

一 认识 Redis

Redis(Remote dictionary Server)诞生于2009年,是一个基于内存的键值型 NoSQL 数据库,也是键值对数据库。No SQL表示操作非关系型数据的语言,而 SQL 是操作关系型数据库的语言,下面罗列了 SQL 与 NoSQL 的异同点

SQLNoSQL
数据结构结构化(Structured)非结构化
数据关联关联的无关联的
查询方式SQL查询非SQL
事务特性满足ACID事务性无法全部满足ACID事务性(BASE)
存储方式磁盘内存
扩展性垂直水平
使用场景1)数据结构固定;2)相关业务对数据安全性、一致性要求较高1)数据结构不固定;2)对一致性,安全性要求不高;3)对性能要求

另外解释下 Structured(结构化)的含义:数据都有一定固定的格式,也就是数据库的约束

例如:主键约束、唯一约束,无符号约束、数据长度约束,插入数据时,需要按照一定的格式。

非结构化:对数据的格式没有特别的约束,可以是键值对、document文档、数据之间没有特别的关系。

二 Redis 的特征

  • 键值型,value支持多种不同数据结构,功能丰富
  • 单线程,每个命令具备原子性;redis6.0 多线程仅仅是针对网络请求。
  • 低延迟,速度快(原因:基于内存、IO多路复用,良好的编码(基于C语言编写的))
  • 支持数据持久化:定期将数据从内存移到磁盘
  • 支持主从集群,分片集群。
  • 支持多语言客户端。

三 Redis配置相关

  • Redis 安装

    brew install redis

  • 启动 Redis 服务器

    redis-server

  • 启动 Redis 客户端

    redis-cli

  • ubuntu中redis的配置文件地址:

    /etc/redis

  • Mac中 redis的配置文件路径:/usr/local/etc/redis.conf

配置文件字段描述
bind 0.0.0.0监听的地址,默认是127.0.0.1,会导致只能在本地访问,修改为0.0.0.0则可以在任意ip访问,生产环境不要设置0.0.0.0
daemonize yes守护进程,修改为yes后即可后台运行
requirepass 123456密码设置为 123456
port 6379监听的端口号是6379
dir .默认工作目录为当前目录,也就是运行redis-server时的命令,日志,持久化等文件会保存在这个目录下。
databases 1数据库数量,设置为1,代表只使用1个库,默认有16个库,编号是0-15
maxmemory 512mb设置redis 能够使用的最大内存
logfile “redis.log”日志文件,默认为空,也指定日志文件名记录日志。
  • Redis 服务基于配置文件启动

    redis-server redis.conf

    在这里插入图片描述

  • 进入Redis 客户端

    redis-cli -h 127.0.0.1 -p 6379 -a 123456

    或者直接:redis-cli -a 123456

  • ping :与redis服务端做心跳测试,服务端正常会返回pong
    在这里插入图片描述
    在这里插入图片描述

    如果出现这个问题时:(error) NOAUTH Authentication required,说明访问redis时 需要登录密码

四 Redis 数据结构

Redis 是一个 key-value 的数据库,key 一般是 String 类型,不过value 的类型多种多样,有以下几种类型:(后三个是特殊类型,前五个是基本类型)

Stringhello world
Hash{name:”Jack”,age:21}
List[a - >b - > c - > c]
Set{A,B,C}
SortedSet{A:1,B:2,C:3}
GEO(地理坐标){A:(120.3,30.5)}
BitMap011011011111000111
HyperLog011011111011

Redis 文档官网:https://redis.io/docs/latest/commands/?group=string

在这里插入图片描述

五 Redis 通用命令

通用命令是部分数据类型都可以使用的指令,常见的有:

  • KEYS:查看符合模版的所有key (不建议在生产环境设备上使用,因为性能比较低)

    • 通过help [command] 可以查看一个命令的具体用法

      在这里插入图片描述

    • KEYS 的使用,查看所有的key,(不区分大小写)

      在这里插入图片描述

  • DEL :删除一个指定的key

    • DEL key

      在这里插入图片描述

      一次性删除多个key, DEL key1 key2 key3

      在这里插入图片描述

      integer 3 表示删除的key的个数,虽然指定删除四个,但是第四个k4 不存在,依然可以正常与运行命令。

  • EXISTS:判断key是否存在

    • 命令 :EXISTS keyname
  • EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除

    • EXPIRE name 20 (过期时间为20s)

      在这里插入图片描述

  • TTL:查看一个KEY 的剩余有效期

    • TTL name
      • 当一个key的有效期为**-2**的时候,就表示这个key已经被移除了
      • -1 表示的是永久有效,直接set name Zeng的key就是永久有效。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小曾同学.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值