redis系列(三)之基础知识
一、Redis 采用的是基于内存的单进程单线程模型的 key-value 数据库
Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!
Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的Memecache差!
二、Memcached 采用的是单进程多线程模型的 key-value 数据库
三、redis默认16个数据库,类似数组下表从 0 开始,初始默认使用零号库
四、select 0~15
命令用于在 0 ~ 15 号库之间进行切换
五、dbsize
命令查看当前数据库的 key 的数量
六、keys *
用于查询所有的 key 的列表
七、flushdb
命令用于清空当前库的 key
八、flushall
命令用于清空所有库的 key
九、redis为什么单线程还这么快
1、误区1:高性能的服务器一定是多线程的?
2、误区2:多线程(CPU上下文会切换!)一定比单线程效率高!先去CPU>内存>硬盘的速度要有所了解!
核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程
(CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!