入门
Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构:
字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。
• Redis将所有的数据都存放在内存中,所以它的读写性能十分惊人,用作数据库,缓存和消息代理。
Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。
• Redis典型的应用场景包括:缓存、排行榜、计数器、社交网络、消息队列等
但是我们实战之前,还是要了解基本使用
数据结构和对象的使用介绍
Java整合
原理总结
这部分在我看来是最有意思的,我们有必要了解底层数据结构的实现,这也是我最感兴趣的。
比如,你知道redis中的字符串怎么实现的吗?为什么这么实现?
你知道redis压缩列表是什么算法吗?
你知道redis为什么抛弃了红黑树反而采用了跳表这种新的数据结构吗?
你知道hyperloglog为什么用如此小的空间就可以有这么好的统计性能和准确性吗?
你知道布隆过滤器为什么这么有效吗?有没有数学证明过?
你是否还能很快写出来快排?或者不断优化性能的排序?是不是只会调库了甚至库函数怎么实现的都不知道?真的就是快排?
包括数据库,持久化,处理事件、客户端服务端、事务的实现、发布和订阅等功能的实现,也需要了解。
另外,
数据结构(字典、链表、字符串)
数据结构(整数集合,压缩列表)
数据结构(跳表介绍和手撕)
为什么选择了跳表而不是红黑树?
HyperLogLog
LRU介绍和实现
Redis中的LRU算法改进
布隆过滤器
qsort源码
对象(字符串对象、列表对象、哈希对象、集合对象、有序集合总结)
内存管理
数据库简介
数据持久化
事件
客户端
命令的执行过程
事务
发布和订阅
多机
旧版复制
新版复制
哨兵机制
实战
进一步的了解了redis的使用和原理,我们来写一些简单的实战代码
实战点赞
实战关注
缓存击穿/穿透/雪崩
对项目的一些优化方案
RedLock
更多的细节问题
相关问题汇总
————————————————
版权声明:本文为CSDN博主「hebtu666」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://fantianzuo.blog.csdn.net/article/details/102924200