目录
22. redis单线程如何保证性能,为什么要使用单线程
23. redis读写能力预估以及参数设定
1.使用场景
redis有哪些使用场景
一般而言redis可用于一些使用频率较高的,变化不频繁的,源数据获取时间较长的数据。例如,用户信息,依赖的第三方数据(微信用户的图片,昵称等);
此外,还可用于热点数据,例如排行榜
2.底层数据结构
3.发布与订阅功能
redis实现发布订阅功能
redis集群的发布和订阅功能不建议使用, 当Redis的访问量很大时,延时很高
4.批量操作pipeline
5.延迟队列
SortedSet实现延迟队列
6.lua脚本与原子性操作
lua脚本实现分布式锁
7.地理位置
8.基数统计
9.集群节点分布原理
redis集群实现原理
10.JedisCluster原理
11.Redis集群连接池
redis连接池如何管理
12.对象编码方式
13.序列化DUMP
redis内存序列化与AOF, DUMP
14.Redis与Memcache的区别
redis与memcache的区别
15.简单的事务支持
redis如何实现事务操作
16.大量Key同时失效
热点问题之大量key同时失效
17.过期策略
Redis内存过期策略有哪些
18.主从同步
Redis如何实现高可用性与主从同步
19.慢查询日志
慢查询调优
20.Bitop,Bitcount原理
21. Redis内存预估
如何评估你要使用的内存大小
22. redis单线程如何保证性能,为什么要使用单线程
1. 纯内存操作
2. IO多路复用
3. 简单的数据结构
为什么要使用单线程?
主要原因是CPU不是性能的瓶颈, 因为redis是纯内存操作, 性能瓶颈为带宽和内存容量
其次,单线程避免上下文切换,减少不必要的开销
再次,单线程仅指的是处理网络请求的是单线程,而并非redis只会使用一个线程处理所有事情