Redis教程

redis笔记

本文主要是介绍redis笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

什么是redis
redis是非关系型(NOSQL)的键值对数据库。它的键只能是string,值类型包括string,hash,list,set,zset等。它的数据保存在内存中,所以速度非常快,常用于分布式缓存。

redis的优缺点
优点:速度快;支持多种数据类型;支持数据持久化;支持事务,redis操作是原子性的,它还支持多个操作合并后的原子性操作;支持主从复制,可以实现读写分离
缺点:数据库容量受内存限制

redis为什么快
1.它完全基于内存
2.采用单线程,避免了线程间的上下文切换
3.数据结构简单,数据操作简单
4.使用多路I/O复用,非阻塞IO

redis是单线程还是多线程
redis是单线程的,但惰性删除、数据持久化、主从同步都是由额外子线程执行的,6.0后还引入了多线程进行IO读写处理,但它执行命令的主线程还是单线程的。

redis的持久化机制
RDB:内存中的数据集以快照的形式保存到磁盘
AOF:将执行的每条写命令保存到文件中
优缺点:RDB的数据恢复速度更快;AOF数据不容易丢失,安全性更高
两种方式可以同时使用,既能方便数据的备份,也能确保数据的完整性

缓存雪崩,缓存击穿,缓存穿透
缓存雪崩:同一时间大面积key时效
处理办法:在批量往redis存数据时,加上个随机值
缓存击穿:一个非常热点数据失效,大并发访问直接落到数据库上
处理办法:非常热点的数据设置永不过期,或者获取数据的地方使用互斥锁
缓存穿透:是指用户发起大量请求获取一个在数据库和缓存中都不存在的值
处理办法:对请求数据进行校验,或者将此类数据也存入缓存

redis集群策略

redis的过期删除策略

常用命令

常用配置

常用工具

这篇关于redis笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!