性能测试全栈笔记:46.redis-理论/持久化/单实例部署
性能测试全栈笔记:46.redis-理论/持久化/单实例部署
redis理论:
Redis是当前使用最广泛的NoSQL,而就Redis技术而言,它的性能十分优越,可以支持每秒十几万次的读/写操作,其性能远超数据库,并且还支持集群、分布式、主从同步等配置,原则上可以无限扩展,让更多的数据存储在内存中,更让人欣慰的是它还支持一定的事务能力,这保证了高并发的场景下数据的安全和一致性。
中文官网:http://www.redis.cn/
Redis两种持久化机制:
1.rdb:在指定的时间间隔内将内存中的数据集快照写入磁盘
- 优点:性能最大化 、如果数据集很大,RDB的启动效率会更高
- 缺点:数据安全性差
2.aof:以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录
- 优点:数据安全性高
- 缺点:对于相同数量的数据集而言,AOF文件通常要大于RDB文件。恢复数据慢
思考1:如何知道redis是rdb,还是aof?
解答:在配置中搜索dbfilename文件后缀即可
思考2:如何将redis修改为aof形式?
解答:redis配置文件中:
注释下面三行:
save 900 1:900秒内,超过1k被修改,则保存
save 300 10
save 60 10000
然后:appendonly no,no修改为yes,再将appendfilename “appendonly.aof”文件改成appendfilename “appendonly-6379.aof”,最后保险起见,把dbfilename dump_6379.rdb注释掉,修改配置后记得重启。
redis实例部署:
1.上传redis安装包到soft目录,并解压:tar xzvf redis-5.0.7.tar.gz
2.因redis安装需c语言环境,故需安装gcc:yum -y install gcc
[root@redis1 redis-5.0.7]# yum -y install gcc
3.进入解压后的redis目录,执行编译操作:
[root@redis1 redis-5.0.7]# make MALLOC=libc
一定要是redis-5.0.7这个目录
4.执行安装命令:[root@redis1 redis-5.0.7]# make install
redis安装完成
redis配置:
1.在redis目录下,新建conf目录,将redis.conf配置文件拷贝到conf目录下,并重命名为:6379.conf
mkdir conf
cp redis.conf ./conf/6379.conf
2.修改redis.conf配置文件
搜索:/daemonize
,改为yes:以守护进程方式运行,daemonize yes
搜索:/dbfilename
,改为dum_6379.rdb,dbfilename dump_6379.rdb
【注意】redis也是可以存文件的
将bind 127.0.0.1注释掉,#bind 127.0.0.1
搜索:/protect-mode,改为no,保护模式改为no,protected-mode no
redis配置完成。
启动redis:
1.先启动redi-server:[root@redis1 src]# redis-server ../conf/6379.conf
src:进入redis目录下的src
2.再启动redis-cli,redis客户端:
加密:[root@redis1 src]# redis-cli -p 6379 -a qwe123
未加密:[root@redis1 src]# redis-cli
3.为redis设置密码:
[root@redis1 conf]# vi 6379.conf
,搜索:/requirepass
requirepass qwe123
,qwe123就是redis密码
4.怎么验证redis客户端是否成功:
- 控制台:
[root@redis1 src]# ps -ef|grep redis
- 启动redis客户端:
[root@redis1 src]# redis-cli -p 6379 -a qwe123
127.0.0.1:6379> set age 10
OK
127.0.0.1:6379> get age
"10"
5.redis其他设置:修改redis配置文件
- 修改最大连接数:
maxclient
(默认是10000) - 修改最大内存:
maxmemory
- 设置密码:上面提到过了,
requirepass
6.pinter设置redis连接
[root@tomcat1 classes]# cd /root/soft/pinter/WEB-INF/classes/
[root@tomcat1 classes]# vi application.properties
# Redis服务器地址
spring.redis.host=192.168.25.156
spring.redis.password=qwe123# Redis服务器连接端口
spring.redis.port=6379
spring.redis.timeout=5000- 保存并退出:
:wq!
提示:如果有其他用到redis的地方,需要重复配置。
思考:修改了pinter项目的配置文件,需要重启tomcat吗?(需重启)
附赠:
FQA:redis安装/启动过程非常容易出错,如下:
compilation terminated.
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/usr/local/redis-5.0.7/src'
make: *** [all] Error 2
如出现以上错误,执行下述命令:
695 cd /usr/local/redis-5.0.7/deps
696 make hiredis lua jemalloc linenoise
697 cd ..
698 ll
699 make
700 cd src/
701 ll
702 make install
703 cd ..
704 vim redis.conf
705 mkdir conf
706 ll
707 cp redis.conf ./conf/6379.conf
主要是696行,注意要在/usr/local/redis-5.0.7/deps
下执行,然后进行make,再进行正常安装启动,基本可解决问题