Redis性能测试怎么做?看看大佬写的测试总结

图片

然后cd到src目录。

2.执行make install,进行安装

make install PREFIX=/usr/local/redis     #安装到指定目录中

如果make失败,一般是你们系统中还未安装gcc或者tcl(根据具体的报错信息安装),那么可以通过yum安装:

yum install gcc/tcl 

安装完成后,继续执行make

在安装redis成功后,可以在/usr/local/redis看到一个bin的目录,里面包括了以下文件:

redis-benchmark  

redis-check-aof  

redis-check-dump  

redis-cli  

redis-server

测试安装是否成功

[root@docker redis-3.2.11]# make test
只截取最后的结果:
\o/ All tests passed without errors!

Cleanup: may take some time… OK

配置redis.conf:

[root@docker redis-3.2.11]# vi /usr/local/src/redis-3.2.11/redis.conf

我这里修改3个地方

daemonize no 改成 daemonize yes (将redis修改为后台启动进程,防止redis启动后一直停留在redis界面)

logfile “” 改成 logfile “./redis.log”(redis日志文件,在redis.conf同级目录下)

bind 127.0.0.1(只能本机访问)改为 bind 0.0.0.0 (非本机亦可访问(或者可以绑定指定IP))

启动redis:

[root@docker ~]# redis-server /usr/local/src/redis-3.2.11/redis.conf

这里加载刚才修改的默认的redis配置文件redis.conf

查看是否启动成功:

[root@docker ~]# ps -ef | grep redis

root 30284 1 0 16:48 ? 00:00:00 redis-server 127.0.0.1:6379
root 30289 25916 0 16:48 pts/0 00:00:00 grep redis

测试redis:

[root@docker ~]

# redis-cli

127.0.0.1:6379> set foo bar

OK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> exit

关闭redis:

[root@docker redis-3.2.11]

# redis-cli shutdown

redis安全模式访问:

测试程序报错为:

DENIED Redis is running protected mode because protected mode is enabled,
no bind address was specified, no authentication password is requested to clients.
In this mode connections are only accepted from the loopback interface.

需要给redis配置密码

启动redis客户端

执行  redis-cli指令

然后执行    config set requirepass 777888(密码)

03 redis测试

1、简单的Redis测试程序:

可以自行创建Eclipse项目,引入jedis的客户端包,测试程序如下:

import redis.clients.jedis.Jedis;

import redis.clients.jedis.exceptions.JedisConnectionException;



public class RedisTest {  
    
      private Jedis jedis = null;  
      private String key1 = "key1";  
      private String key2 = "key2";  
    
      public RedisTest() {  
          jedis = new Jedis("127.0.0.1");  // redis的IP地址
          jedis.auth("redis");   // redis密码
     }  
   
     public static void main(String[] args) {  
         RedisTest redisTest = new RedisTest();  
         redisTest.isReachable();   // redis是否访问成功 返回结果true/false
         redisTest.testData();    // 数据测试
         redisTest.delData();     // 删除数据
         redisTest.testExpire();  
     }  
  
     public boolean isReachable() {  
        boolean isReached = true;  
         try {  
            jedis.connect();  
             jedis.ping();  
           // jedis.quit();  
         } catch (JedisConnectionException e) {  
           e.printStackTrace();  
            isReached = false;  
         }  
  
         System.out  
                 .println("The current Redis Server is Reachable:" + isReached);  
         return isReached;  
     }  
   
     public void testData() {  
         jedis.set("key1", "data1");  
         jedis.set("maxm", "MMM");
        System.out.println(jedis.get("maxm"));
         System.out.println("Check status of data existing:"  
                 + jedis.exists(key1));  
         System.out.println("Get Data key1:" + jedis.get("key1"));  
   
         long s = jedis.sadd(key2, "data2");  
         System.out.println("Add key2 Data:" + jedis.scard(key2)  
                 + " with status " + s);  
     }  
   
     public void delData() {  
         long count = jedis.del(key1);  
   
         System.out.println("Get Data Key1 after it is deleted:"  
                 + jedis.get(key1));  
     }  
   
     public void testExpire() {  
         long count = jedis.expire(key2, 5);  
   
         try {  
             Thread.currentThread().sleep(6000);  
         } catch (InterruptedException e) {             
             e.printStackTrace();  
         }  
   
         if (jedis.exists(key2)) {  
             System.out  
                     .println("Get Key2 in Expire Action:" + jedis.scard(key2));  
         } else {  
             System.out.println("Key2 is expired with value:"  
                     + jedis.scard(key2));  


![img](https://img-blog.csdnimg.cn/img_convert/c40b67c1c180681653115ea29f190fad.png)
![img](https://img-blog.csdnimg.cn/img_convert/818b1b2d2ef2d624a9439072058d5460.png)
![img](https://img-blog.csdnimg.cn/img_convert/ae106fb82745943bdbaaef5c0162a585.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**


https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
中...(img-5GjfwLn0-1725788070035)]
[外链图片转存中...(img-4jf3oZ8M-1725788070036)]
[外链图片转存中...(img-RnzUg4Iv-1725788070036)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**


https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值