1、redis有16个数据库, 默认使用的是第0个,使用select切换数据库
查看redis配置信息:
可以看到有16个数据库:
默认使用第0个数据库,使用客户端连接之后,可以使用select命令,切换数据库:
redis各个数据库保存的值互不干扰,其他数据库看不到
查看改数据库的所有值:keys *
清除数据库:flushdb
清空整个 Redis 服务器的数据(删除所有数据库的所有 key ):Flushall
127.0.0.1:6379[5]> keys * #查看所有值
1) "name"
2) "pwd"
127.0.0.1:6379[5]> flushdb # 清除当前数据库所有值
OK
127.0.0.1:6379[5]> keys *
(empty array)
127.0.0.1:6379[5]>
2、Redis是单线程的!
明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!
Redis是C语言写的,官方提供的数据为100000+的QPS(每秒查询率),完全不比同样是使用key-vale的Memecache差!
Redis为什么单线程还这么快?
1、redis是纯内存操作,执行速度非常快
2、采用单线程,避免不必要的上下文切换导致的性能损耗,而且多线程要保证线程安全的问题,还要考虑加各自读写锁,反而可能会影响性能损耗
3、redis使用I/O多路复用模型,非阻塞IO
redis的性能瓶颈并不是执行速度,而是网络延迟,I/O多路复用模型主要就是实现了高效的网络请求
CPU>内存>硬盘的速度要有所了解:
内存的存取速度远高于硬盘的存取速度,而CPU内高速存储器的存取速度更是远高于内存的存取速度。
核心: redis是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换︰这也是耗时的操作! ! ! ),对于内存系统来说,如果没有上下文切换,单线程效率就是最高的!|