Redis入门
Linux下安装
下载安装包
官网地址:https://redis.io/
中文官网:http://www.redis.cn/
或者root下:
wget https://github.com/redis/redis/archive/7.0.2.tar.gz解压Redis安装包!临时文件和程序一般放在/opt
mv redis-7.0.2.tar.gz /opttar -zxvf redis-7.0.2.tar.gz进入解压后的文件,可以看到redis的配置文件
cd /opt/redis-7.0.2
基本环境安装
yum install gcc-c++查看安装是否成功
gcc -v基本环境安装
cd /opt/redis-7.0.2make
make install
redis的默认安装路径
/usr/local/bin
将redis配置文件拷贝一份至该目录使用
mkdir qmtconfigcp /opt/redis-7.0.2/redis.conf qmtconfigredis默认不是后台启动,修改配置文件
vim qmtconfig/redis.conf修改
daemonize no为daemonize yes否则启动后就关掉了

启动redis服务
使用指定配置文件启动
redis-server qmtconfig/redis.conf连接与测试连接
redis-cli -p 6379或者
redis-cli -a 密码
关闭服务与连接

测试性能
redis-benchmark是一个压力测试工具
官方自待的性能测试工具!
redis-benchmark命令参数如下:
| 序号 | 选项 | 描述 | 默认值 |
|---|---|---|---|
| 1 | -h | 指定服务器主机名 | 127.0.0.1 |
| 2 | -p | 指定服务器端口 | 6379 |
| 3 | -s | 指定服务器 socket | |
| 4 | -c | 指定并发连接数 | 50 |
| 5 | -n | 指定请求数 | 10000 |
| 6 | -d | 以字节的形式指定 SET/GET 值的数据大小 | 3 |
| 7 | -k | 1=keep alive 0=reconnect | 1 |
| 8 | -r | SET/GET/INCR 使用随机 key, SADD 使用随机值 | |
| 9 | -P | 通过管道传输 | 1 |
| 10 | -q | 强制退出 redis。仅显示 query/sec 值 | |
| 11 | –csv | 以 CSV 格式输出 | |
| 12 | *-l*(L 的小写字母) | 生成循环,永久执行测试 | |
| 13 | -t | 仅运行以逗号分隔的测试命令列表。 | |
| 14 | *-I*(i 的大写字母) | Idle 模式。仅打开 N 个 idle 连接并等待。 |
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
结果如下:
| |
基础知识
redis默认有16个数据库

默认使用第0个
可以使用select切换数据库
| |
值得注意的是,
flushall清空全部数据库
Redis是单线程的
Redis是很快的,是基于内存操作的,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了。
Redis是C语言写的,官方提供的数据为100000+的QPS,完全不比同样是使用key-value的Memecache差!
Redis为什么单线程还这么快?
- 误区1:高性能服务器一定是多线程的?否
- 误区2:多线程(CPU上下文会切换!)一定比单线程效率高?否
了解:CPU>内存>硬盘的速度
核心:Redis是将所有的数据全部放在内存中,所以说使用单线程去操作效率就是高的,多线程(CPU上下文会切换:耗时的操作!!),对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳方案!






