Redis入门干货

这篇博客介绍了Redis的基础知识,包括Redis的安装、配置以及主要命令,如键值操作、数据类型(string, hash, list, set, sorted set)的使用,还有Redis的事务和消息通信机制。此外,还提到了Redis Stream作为新的数据结构及其在消息持久化中的作用。" 113644205,10296687,Python爬虫实现股票回测系统教程,"['Python爬虫', '股票分析', '数据回测', '金融数据']
摘要由CSDN通过智能技术生成

Redis入门干货

简介

Redis 是开源的、遵循开源许可 BSD)协议的一款高性能NO_SQL 数据库。他支持数据的持久化和备份能力,并提供了较为丰富的储存数据类型(string, list,set,zset,hash)。
1、安装
windows下直接访问https://github.com/tporadowski/redis/releases地址取到目标压缩包,解压到目标的庄目录。然后从控制台中切换到包的解压目录下。使用redis-server.exe 开启redis服务。同时redis提供了客户端程序来访问服务,通过控制台切换到解压目录,然后运行redis-cli.exe -h 127.0.0.1 -p 6379打开客户端。
Linux 下从http://redis.io/download下载目标版本源代码,解压后通过make指令编译redis的服务及客户端。
主要的一些参数包括daemonize(是否以守护进程的方式运行)、pidfile(写入守护模式下的pid到目标文件)、port(监听端口)、bind(绑定主机地址)、timeout(连接超时时间) 、loglevel (日志级别)、save (数据同步频率)、dbfilename(设置本地数据库名)、dir (指定数据库存放目录)…。

2、配置
Redis的配置文件放在其安装目录之下,linux中的配置文件名为redis.conf,Windows 名为 redis.windows.conf。
获取配置的指令格式如下CONFIG GET CONFIG_SETTING_NAME。
设置配置的指令格式如下CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE。

主要命令

基础命令

$ redis-server 启动服务
$ redis-cli 启动客户端
$ ping 检查服务是否启动

键值操作
指令说明示例
EXISTS key检查目标key是否存在EXISTS img_map
DEL key删除目标keyDEL img_map
EXPIRE key设置key的失效时间(秒)EXPIRE img_map 20
TTL key查看目标key的过期时间TTL img_map
RENAMENX key newkey修改目标keyRENAME img_map img_maps
TYPE key查看目标key对应值得类型TYPE img_map
DUMP key序列化key 并返回对应序列化的值DUMP img_map
Redis数据操作指令

1 redis string
string操作
2 redis Hash
Redis hash 是一个 由多个 field(字段) 和 value(值) 组成的映射表字符串,故其很适合用存储对象。Redis 中一个 hash 最多可以存储 2^32 - 1 个键值对。
Hash操作
3 redis List
Redis List 是一个按照插入顺序排列的字符串列表,单个列表最多可以存储2^32-1个元素。
在这里插入图片描述

4 redis Set
Redis Set是一个string的无序集合,集合的元素是唯一的,其内部是通过Hash表实现的,故而其操作的复杂度和Hash是一样的,都是O(1),单个集合最多可以存储2^32-1个元素。
在这里插入图片描述
5 redis sorted set
Redis sorted Set是一个string的有序集合,集合的元素是唯一的,其内部是通过Hash表实现的,不同于set是他给每个元素都会关联一个 double 类型的分数,并基于其进行从小到大的排序,并且分数可以重复。故而其操作的复杂度和Hash是一样的,都是O(1),单个集合最多可以存储2^32-1个元素。
在这里插入图片描述

Redis消息

Redis的 消息通信方式是基于发布订阅者模式的。客户端通过订阅服务器上目标频道,在该频道有消息进入时,客户端即可收到目标消息。其模式如下:
模式实例
客户端通过订阅Redis服务的目标频道来获取目标频道的实时消息,一个客户端可以订阅(sub)多个频道,当生产者发布消息到目标频道的时候,消息会被自主的发送给其频道的订阅者。
上图模式的实例如下:

消费者客户1订阅频道my-channel1的消息
消费者客户2订阅频道my-channel2的消息
生产者1发布消息至频道my-channel1
产者2发布消息至频道my-channel2也可以通过UNSUBSCRIBE [channel [channel …]] 退出指定频道的订阅。

Redis事务

Redis是支持事务处理的,一个事务可以包含多个指令,在事务的执行过程中,其他用提交的请求不会打断当前事务的执行,但是redis的事务并不是原子性的,也就是说在多指令组合的事务中,当前指令的失败执行并不影响其后面的指令继续执行下去。Redis事务的生命周期包括以下三个有序的部分:开始事务、命令入队、执行事务。resdis通过 MULTI 指令标记一个事务的开始,通过EXEC 指令开始事务的执行。
实例如下:
Redis事务实例
也可以通过DISCARD 取消事务的执行,以及通过WATCH key [key …] 监视事务中的可以,如果这些可以被其他命令修改,事务的执行就还被打断。

Redis stream

Redis Stream 是 Redis 5.0 版本中新增加的数据结构。主要用于redis-MQ,b并弥补了redis消息发布-订阅模式消息无法持久化的问题。其提供了消息的持久化和主备复制功能,可以为消息的使用者提供灵活多变的访问,并记录每个客户端访问位置信息,同时提供消息的持久化功能来保障消息不丢失。
其结构如图所示:
redis Stream
Redis Stream消息的产生及流的操作实例:
producer
消费者的创建:
消费组

消费者获取消息:
消费消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值