该笔记大部分搬运B站遇见狂神说的Redis,顺便把图文合并记录,便于回顾,仅用于学习!
视频地址:https://www.bilibili.com/video/BV1S54y1R7SB?t=250 作者真的非常好,记得三连
如有侵权,请联系删除!
1. 测试性能
redis-benchmark:Redis官方提供的性能测试工具,参数选项如下:
详情可参考:https://www.runoob.com/redis/redis-benchmarks.html
[root@centos7 bin]# redis-benchmark -h localhost -p 6379 -c 100 -n 100000
2. 基础知识
2.1 redis默认有16个数据库
- 默认使用第0个数据库;
- select 数据库号,可以进行切换;
- dbsize:查看数据库的大小;
- key * :查看所有的key
- flushdb:清空当前数据库中的键值对。
- flushall:清空所有数据库的键值对。
2.2 Redis是单线程的,Redis是基于内存操作的。
所以Redis的性能瓶颈不是CPU,而是机器内存和网络带宽。
那么为什么Redis的速度如此快呢,性能这么高呢?QPS达到10W+
2.3 Redis为什么单线程还这么快?
- 误区1:高性能的服务器一定是多线程的?不一定
- 误区2:多线程(CPU上下文会切换!)一定比单线程效率高!
核心:Redis是将所有的数据放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作!),对于内存系统来说,如果没有上下文切换效率就是最高的,多次读写都是在一个CPU上的,在内存存储数据情况下,单线程就是最佳的方案。