二、基础知识
1、redis默认有16个数据库(0—15)
默认使用的是第0个数据库,可以使用select切换数据库。不同数据库存储不同的值
127.0.0.1:6379> select 3 #切换数据库
OK
127.0.0.1:6379[3]> dbsize #查看数据库大小
(integer) 0
127.0.0.1:6379[3]>
keys * #查看当前库的所有key的值
flashdb #清除当前数据库
flashall #清除所有数据库
2、Redis是单线程的!
- Redis是基于内存操作的,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络宽带,既然可以使用单线程来实现,就使用单线程了。
- Redis是使用C语言写的,官方提供的数据为100000+的QPS[^1],完成不必同样是使用key-value的Memecache差!
3、Redis为什么那么快?
- 误区1:高性能的服务器一定是多性能的?
- 误区2:多线程(CPU上下文会切换)一定比单线程效率高!
- 核心:redis是将所有数据全部放到内存中的,所以说使用单线程去操作效率就是最高的,多线程(上下文会切换:耗时的操作!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!