redis系列(三)之基础知识

一、Redis 采用的是基于内存的单进程单线程模型的 key-value 数据库

Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!

Redis  语言写的,官方提供的数据为  100000+  QPS,完全不比同样是使用 key-vale的Memecache差!

二、Memcached 采用的是单进程多线程模型的 key-value 数据库

三、redis默认16个数据库,类似数组下表从 0 开始,初始默认使用零号库

redis系列(三)之基础知识
在redis配置文件中查看redis默认数据库的数量

四、select 0~15命令用于在 0 ~ 15 号库之间进行切换

redis系列(三)之基础知识
select切换数据库

五、dbsize命令查看当前数据库的 key 的数量

redis系列(三)之基础知识
dbsize查看key的数量

六、keys *用于查询所有的 key 的列表

redis系列(三)之基础知识
key *

七、flushdb命令用于清空当前库的 key

redis系列(三)之基础知识
flushdb

八、flushall命令用于清空所有库的 key

redis系列(三)之基础知识
flushall

 

九、redis为什么单线程还这么快

1、误区1:高性能的服务器一定是多线程的?

2、误区2:多线程(CPU上下文会切换!)一定比单线程效率高!先去CPU>内存>硬盘的速度要有所了解!

核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程

CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!