String类型基本命令操作
Redis数据类型—String
Redis数据库
Redis有16个数据库,默认是第0个。
# 可以使用 vim 查看redis.conf 文件
vim reids.conf
切换数据库
可以使用select切换数据库
这里在第8个数据库中set两个 key,可以看到查询到我们set 的keys。
然后我们切换第0个数据库,发现是查询不到的。
127.0.0.1:6379[8]> set name oldfe # set key
OK
127.0.0.1:6379[8]> set age 8
OK
127.0.0.1:6379[8]> keys * # 查询所有key
1) "age"
2) "name"
127.0.0.1:6379[8]> dbsize # 查看db大小
(integer) 2
127.0.0.1:6379[8]> select 0 # 切换第0个数据库
OK
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379>
清空数据库,flushdb
清除当前数据、flushall
清除所有数据库
Redis是单线程的!!!
官方表示,Redis是基于内存操作
,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,
Redis 是C语言写的,官方提供的数据为 10000+的QPS,完全不比同样是使用key-value的Memecache差!
Redis为什么单线程还这么快?!
1、误区1:高性能的服务器一定是多线程的?
2、误区2:多线程(CPU上下文会切换!)一定比单线程效率高?
性能:CPU>内存>硬盘
核心:Redis是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的时间的操作!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳方案!