Redis入门指南笔记

Redis是一款高性能的内存数据库,支持字符串、散列、列表、集合和有序集合等多种键值数据类型。它提供内存数据持久化,确保在停电时数据不丢失。Redis可用作缓存系统,具备TTL功能和空间限制,还能实现队列和优先级队列。此外,其支持发布订阅模式,可用于构建实时通信系统。Redis配置灵活,支持多数据库,并拥有丰富的命令集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、存储结构

Redis是Remote Dictionary Server(远程字典服务器)的缩写。
Redis支持的键值数据类型如下:
字符串类型
散列类型
列表类型
集合类型
有序集合类型

2、内存存储与持久化

Redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘存储的数据库有非常明显的优势。
但是数据存储在内存中会出现问题,比如停电时,数据丢失,所以Redis提供了对持久化的支持,也就是可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务。

3、功能丰富

Redis可以为每一个键设置生存时间(TTL),生存时间到期后键会自动被删除,这一功能陪着出色的性能让Redis可以作为缓存系统来使用。作为缓存系统,Redis还可以限定数据占用的最大内存空间,在数据达到空间限制后可以按照一定的规则自动淘汰不需要的键。
除此之外,Redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易地实现一个高性能的优先级队列。
Redis还支持“发布、订阅”的消息模式,可以基于此构建聊天室等系统。
在这里插入图片描述

4、命令返回值

状态回复:比如向Redis发送SET命令设置某个键的值时,会回复OK
错误回复:当出现命令不存在或命令格式有错误时,Redis会返回错误回复(error reply)
整数回复:Redis没有整数类型,但是却提供了一些用于整数操作的命令,如递增键值的INCR命令会以整数形式返回递增后的键值。
字符串回复:双引号包裹
多行字符串回复:如当请求一个非字符串回复中的每行字符串都以一个序号开头。

5、配置

比如配置端口号,是否开启持久化、日志级别等
配置文件模板:redis.conf
也可以通过CONFIG SET命令在不重新启动Redis的情况下动态修改部分Redis配置。

6、多数据库

Redis默认支持16个数据库,可以通过配置参数databases来修改这一数字。客户端与Redis建立连接后会自动选择0号数据库,不过随时可以通过select命令更换数据库。
这些数据库更像是一个命名空间,而不适宜存储不同应用程序的数据。

7、命令

glob风格通配符规则
在这里插入图片描述

SET [KEY][VALUE]设置键
KEYS * 查看键
EXISTS [KEY]判断一个键是否存在
DEL [KEY] 删除键(可以删除多个键)
TYPE [KEY] 获取键值的数据类型
GET [KEY] 取值
INCR [KEY] 递增数字

8、实践

Redis的键名,最好的形式是-对象类型:对象ID:对象属性
生成自增ID:对于每一类对象使用名为对象类型的键来存储当前类型对象的数量,每增加一个新对象时都使用INCR命令递增该键的值。
由于每个字符串类型键只能存储一个字符串,而一篇博客文章是由标题、正文、作者与发布时间等多个元素构成的。为了存储这些元素,我们需要使用序列化函数将它们转换成一个字符串。取元素的时候,可以进行反序列化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值