1-Redis基础

Redis介绍

Redis是一个key-value存储系统,数据缓存在内存中,同时Redis会周期性的把更新的数据写入磁盘或修改操作写入追加的记录文件。

Redis支持主从同步,数据可以从主服务器上向任意数量的从服务器上同步。

Redis的value值支持5种数据类型,分别是字符串String,列表List、集合Set、有序集合zSet和哈希Hash。

为啥使用Redis

Redis是非关系型数据库,即NoSQL。在NoSQL数据库中数据之间是无联系的,没有关系,数据的结构是松散、可变的。

非关系型数据库的优势:

  • 大数据量,高性能

    NoSQL数据库都具有非常高的读写性能,尤其是在大数据量下,表现很优秀。这得益于数据的无关系型,数据库结构简单。

  • 灵活的数据模型

    NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。

  • 高可用

  • 低成本

当然,非关系型数据库也有劣势:

  • 数据之间没有关系
  • 不支持标准的SQL,没有公认的NoSQL标准
  • 没有关系型数据库的约束,大多数也没有索引概念
  • 没有事务,不能依靠事务实现ACID
  • 没有丰富的数据类型,如日期,数值,二进制等

Redis简单使用

Window版本的Redis不是真正的Redis,Reids的作者,是基于Linux系统,只写了Linux版本。Windows版本的Redis是微软公司推出的。但是和Linux版本的Redis使用基本相同。

在开发环境中,可以使用Windows,但在实际生产环境中,要使用Linux版本的。

Windows下使用

Redis有三个文件比较重要,redis-cli.exe、redis-server.exe和redis.window.conf,分别对应redis客户端,redis服务器端,redis的Windows版本配置文件。

在使用时,要先运行服务器端,然后运行客户端。

如果修改了配置文件,那么运行服务器时,要在./redis-server.exe 后加上 配置文件路径 redis.window.conf,让redis重新加载该配置文件。

Windows版本的Redis不支持后台启动。

不要将Redis添加到Windows服务,会出错,很痛苦。

Linux下使用

Linux和Windows文件一样。

Linux启动redis有两种方式:

  • 前台启动 ./redis-server:启动后,该终端不能输入其他命令,也不能关闭,只能运行redis-sever
  • 后台启动 ./redis-server &:启动后,终端可以继续输入其他命令

一般使用后台启动。

Linux关闭redis服务也有两种方式:

  • 在redis客户端使用shutdown命令关闭。这种关闭方式,redis会先执行完数据操作,再关闭服务器
  • 直接使用kill命令杀死进程。不推荐这种方式,有可能会造成数据丢失

Redis客户端

Redis客户端是一个程序,通过网络连接到Redis服务器,在客户端软件中使用Redis可以识别的命令,向Redis服务器发送命令。

就是和Redis服务器进行交互的工具。

redis-cli.exe是Redis自带的命令行客户端。

有两种连接reids服务器的方式

  • 直接运行redis-cli.exe,这时,默认使用ip 127.0.0.1 端口6379

  • 运行redis-cli.exe,使用选项连接服务器,-h 主机 -p 端口,例如

    ./redis-cli -h 127.0.0.1 -p 6379

连接远程Redis服务器,还需要修改服务器端配置文件,因为Redis有安全保护措施,默认只有本机才可以访问。

修改两个地方:

  • bind ip :用来绑定ip,即只有该ip才可以访问Redis。注释掉该行。
  • protected-mode yes:设置保护模式,改为no

需要重新加载redis配置文件。

Redis日志

在redis的配置文件中可以配置Redis的日志级别和日志输出路径

loglevel

loglevel配置项用来配置输出日志级别,有四个级别:

  • debug:会打印很多信息,适用于开发和测试阶段
  • verbose:比debug清爽一点
  • notice:适用于生产环境,默认值。
  • warning:警告信息

开发时,可以使用debug,在生产环境使用notice

logfile

logfile用来指定日志输出路径。

使用双引号来指定路径,例如logfile "D:/logs/redis.log"

如果注释掉该行,那么默认输出到控制台。


1-Redis基础
https://zhaoquaner.github.io/2022/05/11/Redis/1-Redis基础/
更新于
2022年7月4日
许可协议