Redis安装
作用:
- 内存存储、持久化(rdb、aof)
- 效率高,可以用于高速缓存
- 发布订阅系统
- 地图信息分析
- 计时器、计数器(浏览量)
- ....
特性:
- 多样数据类型
- 持久化
- 集群
- 事务
- ....
安装:
1.将对应的redis rpm包放置/opt目录下,进行解压
1 tar -zxvf redis-5.0.8.tar.gz
2.安装c++运行环境(已安装的忽略此步骤)
1 yum -y gcc-c++
3.编译(需要一定时间)
1 make
4.安装(默认安装完成在/usr/local/bin)
1 make install
5.将redis.config拷贝一份到/usr/local/bin/XXXConfig中,尽量不动原来的配置文件,以备份配置文件作为redis启动的配置文件
1 cp /opt/redis-5.0.8.tar.gz /usr/local/bin/XXXConfig
6.修改redis.config,将其设置成为后台运行
7.进入/usr/local/bin目录,启动redis服务
1 redis-server zqzhenConfig/redis.conf
8.启用redis客户端进行连接(-h为主机名,默认为本机)
1 redis-cli -p 6379
9.关闭服务
1 shutdown
10.redis-benchmark性能测试
redis默认有16个数据库,默认使用第0个,可以使用select进行切换
1 127.0.0.1:6379> select 3 #切换数据库 2 OK 3 127.0.0.1:6379[3]> DBSIZE #查看库存 4 (integer) 0 5 127.0.0.1:6379[3]> flushdb #清空当前库 6 127.0.0.1:6379[3]> flushall #清空所有库
Redis是单线程的
Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽。Redis是C语言写的,官方提供的数据为10w+的QPS,不比同样使用key-value的Memacache差。
为什么单线程还这么快?
误区1:高性能的服务器一定是多线程的
误区2:多线程一定比单线程效率高
核心:Redis是将所有的数据全部放入内存中的,故使用单线程操作效率是最高的,多线程中CPU上下文会切换,相对来说耗时。对于内存来说,没有上下文切换效率是最高的。