Redis学习——使用介绍

  1. Redis是什么?

Redis是一个基于内存的轻量级键值数据库(key-value database),亦可以将其理解为是一个数据结构服务器。Redis全称为REmote DIctionary Server。Redis原生地在内存中实现了多种类型的数据结构,并提供了操作这些数据结构的多种API。此外,作为一个需要长期运行的数据存储服务,Redis还提供了高性能命令处理、高可靠性/扩展性的架构及数据持久化等特性!
Redis被广泛的应用于高并发、低延迟系统上,如电商秒伤系统!

  1. Redis工作原理

Redis中的术语实例代表一个redis-server进程。同一台主机上可以运行多个Redis实例,只要这些实例使用不同的配置即可,比如绑定到不同端口、使用不同路径保存数据持久化相关的文件、或采用不同的日志路径等。
启动Redis: 终端执行redis-server
停止Redis: 通过redis-cli调用shutdown命令进行关闭。推荐使用这种方式来停止Redis服务,因为作为一种数据存储服务,这种方式可以保持数据的一致性——除了终结进程外,还会执行其他一系列操作。首先redis-server会停止响应客户端的连接;然后,如果启用了持久化,则会执行数据持久化操作。之后,如果.pid文件和socket套接字文件描述符存在的话,则对其进行清理,并最终退出进程。通过这种策略,Redis会尽可能地防止数据丢失。否则如果用kill 'pid of redis-server’的方式来终止redis-server进程(直接杀进程了!),那么由于在服务端关闭之前数据可能尚未被持久化而导致数据丢失。

  1. 使用redis-cli工具进行Redis的相关开发和维护,通过命令“redis-cli"可以连接到Redis;使用redis-cli的INFO命令可以获得一个Redis实例(即redis-server)的最全面和最重要的信息,而INFO [section]可以查看section指标的具体信息。
    INFO命令的返回信息主要有:
段落名称描述
Server关于Redis服务器的基本信息
Clients客户端连接的状态和指标
Memory大致的内存消耗指标
Persistence数据持久化相关的状态和指标
Stats总体统计数据
Replication主从复制相关的状态和指标
CPUCPU使用情况
ClusterRedis Cluster的状态
Keyspace数据库相关的统计数据
  1. Redis事件模型

Redis最大程度地利用了单线程、非阻塞的I/O模型来快速地处理请求。Redis包含了一个简单但功能强大的异步事件库,称为ae。该库中封装了不同操作系统的polling机制(即非阻塞I/O相关的机制)

  1. 理解Redis通信协议

Redis基本上就是一个接受并处理来自客户端请求的非阻塞、I/O复用的TCP服务器,即可以使用各种编程语言通过TCP协议与Redis进行通信。术语协议(protocol)代表网络通信中服务器和客户端之间使用的语言(只有满足这种格式才能进行通信),Redis所使用的通信协议是REdis Serialization Protocol(RESP, Redis序列协议)。
使用netcat向Redis服务器发送PING命令:sudo echo -e “*1\r\n$4\r\nPING\r\n” | nc 127.0.0.1 6379
响应值:+PONG
命令说明:echo -e表示显示换行, -e开启转义;1代表这个数组的大小;\r\n是RESP中每个部分的终结符;$4之前的反斜杠是 $符号的转义符;$4表示接下来是4个字符组成的字符串;PING为字符串本身;+PONG是PING命令的响应字符串。+表示响应是一个简单的字符串类型。
总之,客户端发送给Redis服务器的命令实际上就是一组字符串组成的RESP数组。之后,服务器按照不同的命令,使用5种RESP类型(Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合))之一对命令进行响应。
返回值表示:”:“代表返回结果是一个整型;”-“开头的代表一个错误类型。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值