redis学习(四)

redis学习(四)

测试性能

redis-benchmark 是一个压力测试工具!
官方自带的性能测试工具!
redis-benchmark 命令参数!
image-20200722170829656

基础知识

redis默认有16个数据库,默认使用第0个。

image-20200722172602447

可以使用select进行切换数据库。

127.0.0.1:6666> select 1 #切换数据库
OK
127.0.0.1:6666[1]> dbsize #查看数据库大小
(integer) 0
127.0.0.1:6666[1]> set name 1
OK
127.0.0.1:6666[1]> keys * # 查看所有数据
1) "name"
127.0.0.1:6666[1]> flushall # 清空所有数据库(16个)
OK
127.0.0.1:6666[1]> flushdb # 清空当前库

Redis 是单线程的!

明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据
机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!
Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的
Memecache差!
Redis 为什么单线程还这么快?
1、误区1:高性能的服务器一定是多线程的?
2、误区2:多线程(CPU上下文会切换!)一定比单线程效率高!

先去CPU>内存>硬盘的速度要有所了解!
核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程
(CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高
的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!