Redis 默认有16个数据库
默认使用第0个数据库
可以使用 select 进行切换数据库!(不同数据库的数据不共享)
127.0.0.1:6379> select 1 # 切换第一个数据库
OK
127.0.0.1:6379[1]> # [1] 代表当前数据库 默认是 0 (默认的数据库不显示 [0] )
查看数据库 所有的 key
127.0.0.1:6379> keys *
1) "name"
清空数据库
# 清空当前数据库
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379>
# 清空全部数据库
127.0.0.1:6379> keys * # 默认数据库有值
1) "name"
127.0.0.1:6379> select 1 # 切换数据库
OK
127.0.0.1:6379[1]> keys * # 数据库1号没值
(empty array)
127.0.0.1:6379[1]> flushall # 执行数据库清除
OK
127.0.0.1:6379[1]> select 0 # 切换默认数据库
OK
127.0.0.1:6379> keys * # 默认数据库没值
(empty array)
127.0.0.1:6379>
Redis 是单线程!
Redis 是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所以就有了单线程!
Redis 是 C 语言写的,官方提供的数据为 100000+ 的 QPS , 完全不必同样是使用 key-value 的 Memecache 差!
Redis 为什么单线程还怎么快!
误区1:高性能的服务器一定是多线程的?
误区2:多线程(CPU会上下文切换!)一定比单线程效率高?
运行效率 : CPU > 内存 > 硬盘
核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU 会上下文切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率是最高的!多次读写都是在一个CPU上的,内存情况下,这个就是最佳的方案!