Redis基础串讲

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值