Redis基础串讲

Redis是一款基于内存的高速KV数据库,适用于缓存、分布式锁及消息队列等场景。其快速性能得益于内存存储、高效数据结构、单线程模型、I/O多路复用及自建通信协议。本文介绍Redis的五种核心数据结构及其应用场景。

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

Redis是什么

Remote Dictonary Service,直译为远程字典服务,是一个构建与内存的高速的KV数据库

Redis能干什么

存储热点数据的缓存数据库
解决分布式资源冲突的分布式锁
解决异步消费的消息队列

Redis为什么那么快

 1. 构建于内存,KV数据结构类似于hashmap,查询优势明显。
 2. KV数据结构中的V有五种常用数据结构,这些数据结构简单,也优化了底层算法
 3. 单进程单线程模型,避免了线程上下文切换开销及各种加锁释放锁带来的问题
 4. 采用了I/O多路复用模型,多路指的是多个网络链接,复用指的是服用同一个线程,高效处理多个链接请求,尽量减少网络IO时间消耗。
 5. 自己构建了底层VM机制,使用自己的通信协议

Redis的常用数据结构

Redis本身是一个KV数据结构,所以这里讲的数据结构指的是KV中V的数据结构
 1. String:动态字符串,冗余预分配,1M以下,成倍扩容,1M以上,1M扩容,最大不超过512M,类比ArrayList
C:set mset
R:get mget
U:set
D:del
Other:expire,setnx,incr
 2. List:类比LinkedList,常用于异步队列,常用操作rpush,lpop;rpush rpop
 3. hash:类比HashMap,不同于hashmap的rehash,在这里使用的是渐进式rehash
C:hset,hmset
R:hget,hmget,hgetall
U:hset
D:hdel
Other:hincrby
 4. set:类比Hashset,特殊的hashmap,value为null,常用操作,sadd,spop
 5. zset:类比Sortedset+hashmap,常用于存粉丝列表,value为用户id,score为关注时间,底层实现为跳跃表
C:zadd
R:zrange,zrevrange,zcard,zscore,zrank,zrangebyscore
U:zadd
D:zrem
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值