性能测试全栈笔记:46.redis-理论/持久化/单实例部署

作者: admin 分类: 性能专题 发布时间: 2021-12-27 17:43

性能测试全栈笔记: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,再进行正常安装启动,基本可解决问题

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表回复