Redis-学习笔记

本文介绍了Redis,一个支持内存存储、高效数据结构(如String、Hash、List、Set和SortedSet)和持久化的键值存储系统。Redis以其单线程或多线程处理、高性能和丰富的数据结构应用而闻名,尤其适用于缓存、计时器和排行榜等场景。

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

一、Redis是干什么的?

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

作用:

1、内存存储、持久化,内存中的数据是断电即失的,所以持久化很重要(RDB、AOF)
2、效率高,可以用于高速缓存
3、发布订阅系统
4、地图信息分析
5、计时器、计数器(浏览量)
6、……

特征:

1. ⽀持多种数据结构

2. 单线程,每个命令的执⾏具备原⼦性,中途不会执⾏其他命令(指命令处理始终是单线程的,⾃ 6.x 起改为多

线程接受⽹络请求)

3. ⾼性能、低延时(基于内存、IO 多路复⽤、良好编码)

4. ⽀持数据持久化

 

二、Redis 基本数据结构


String 类型


⽀持存储字符串、数字、浮点数(实际存储都是字节数组)

单 key 的 value 最⼤不能超过 512 M!

实际使⽤时,通常⽤冒号连接多个词来拼接 key,⽐如 [项⽬名]:[业务名]:[类名]:[id]。在某些 GUI ⼯具中,会⾃动根据冒号来划分层级,浏览更⽅便。

Hash 类型


值是⼀个 Hash 结构(类似 Java 的 HashMap):

常⽤命令:

其实就是在 String 命令名的基础上增加了 'H' ⾸字⺟

 List 类型


理解为 Java 的 LinkedList 双向链表,特点是有序、插⼊删除快、但查找性能⼀般:常⻅命令如下:

有点像操作⼀个双端队列

Set 类型


集合,类似于 Java 中的 HashSet,特点是单 set 内元素不能重复、查找性能⾼。常⻅命令如下:

分为单集合命令和多集合命令(交并差集)

SortedSet 类型


有序集合,在 set 的基础上给每个元素多存了⼀个分数,类似于 value 类型为整型的 HashMap。特点是有序、查找性能⾼,适合⽤于排⾏榜、统计 TopN。

常⻅命令:

和 set 结构的命令很像

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值