1. 数据库数
默认是16个数据库,默认使用的是第一个。
2. 一些基本命令
命令官网查询:http://www.redis.cn/commands.html
命令行连接redis。Linux的redis/src目录下执行
[root@LYX src]# redis-cli
测试性能:(100个并发客户端 每秒100000请求)
redis-benchmark -h localhost -p 6379 -c 100 -n 100000 # 测试性能
可以使用select切换使用的数据库:
./redis-cli #连接到redis
select 3
DBSIZE # 查看数据库大小
设置和获取键值对:
set key value
get key
查看所有key:
keys *
清空数据库:
127.0.0.1:6379[3]> flushdb
OK
127.0.0.1:6379[3]> keys *
(empty array)
清除全部数据库内容:
flushall
移动key到别的数据库(后面的数字是数据库名)
127.0.0.1:6379[3]> move name 1
(integer) 1
3. Redis是单线程的
官方表示,Redis 是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!
Redis是C语言写的,官方每秒 100000+ QPS,说明不比Memecache差!
Redis为什么单线程还那么快?
1、误区1:高性能的服务器一定是多线程的?
2、误区2:多线程(上下文切换!)一定比单线程效率高?
核心:redis是将所有的数据全部放在内存中的,所以使用单线程去操作效率就是最高的,多线程(CPU上下文会切换:耗时的操作!),对于内存系统来说,如果没有上下文的切换效率就是最高的。多次读写都是在一个CPU上的实现的,在内存处理这个就是最佳方案!