Redis默认有16个数据库
默认使用的是第0个数据库
可以通过 select
进行切换数据库
切换数据库和查看DB大小
127.0.0.1:6379> select 3 #切换数据库
OK
127.0.0.1:6379[3]> dbsize #查看DB大小
(integer) 0
127.0.0.1:6379[3]>
查询数据库所有的key
127.0.0.1:6379[3]> keys *
1) "name"
清空当前数据库 flushdb
127.0.0.1:6379[3]> flushdb
OK
127.0.0.1:6379[3]> keys *
(empty array)
清除全部数据库内容 flushall
127.0.0.1:6379[3]> select 0
OK
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> get name
"luoyufeng"
127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]> flushall
OK
127.0.0.1:6379[3]> select 0
OK
127.0.0.1:6379> keys *
(empty array)
注意:Redis是 单线程
的
redis是基于内存操作,cpu不是redis性能瓶颈,redis的瓶颈是根据机器的内存和网络带宽,所以就使用了单线程。
redis是C语言写的,官方提供数据为10w+的QPS,完全不比同样使用key-value的Memecache差
Redis为什么单线程还那么快?
误区:
1.高性能服务器一定是多线程
2.多线程(CPU会上下文切换)一定比单线程效率高
核心:
redis是将所有数据放在全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU会上下文切换 : 耗时的操作),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在CPU上的,在内存情况下就是最佳方案!