原生Redis性能深度评测(原生redis评测)

Redis是一个开源内存对象数据库,目前普遍用于缓存、消息队列、日志存储等场景,高性能是它的主要特点。 为了精准发掘Re…

Redis是一个开源内存对象数据库,目前普遍用于缓存、消息队列、日志存储等场景,高性能是它的主要特点。

为了精准发掘Redis在高性能应用场景中性能优势,我们通过对原生Redis实现的性能深度评测,来分析Redis在特定环境下的数据库性能表现。

我们对Redis的基础缓存请求性能进行测试。使用Java客户端调用Redis,通过多次数据查询,单线程耗时、并发线程耗损时等参数评测其缓存查询性能。代码如下:

Jedis jedis = new Jedis(host,port);

jedis.connect();

long startTime = System.currentTimeMillis();

for(int i=0; i

jedis.get(“rr”+i); //100次查询

}

long duration = System.currentTimeMillis() – startTime;

紧接着,我们模拟分布式环境,对Redis发起“Set/Get”类型多线程请求。通过多个客户端实例,发起读写请求,可以查看Redis是否由于并发读写而产生性能瓶颈。代码如下:

Jedis jedis = new Jedis(host,port);

jedis.connect();

int threadNum = 10;

ExecutorService pool = Executors.newFixedThreadPool(threadNum);

for(int i=0;i

pool.execute(()->{

for(int j=0;j

jedis.set(“setKey”+j,j+”value”);

jedis.get(“getKey”+j);

}

});

}

我们将Redis对比一个比较流行的关系型数据库MySQL,来查看在高性能环境下Redis的优势会有多大。我们相同环境下,比较Redis和MySQL两种方式执行SQL查询时长,及磁盘空间占用等。代码如下:

Connection connection = DriverManager.getConnection(“jbdc:mysql:localhost: 3306/test”);

PreparedStatement pstmt = con.prepareStatement(“select * from test_table where id = ?”);

for(int i = 0;i

pstmt.setInt(1, i);

ResultSet rs = pstmt.executeQuery();

while (rs.next()) {

// 操作结果集

}

rs.close();

}

以上Redis性能深度评测仅是一种基础调优,来发掘其高并发环境下性能优势,但是实际应用中,应根据变化情况进行持续评测,确保业务正常运行。

香港服务器首选港服(Server.HK),2H2G首月10元开通。
港服(Server.HK)(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

为您推荐

港服(Server.HK)MongoDB教程:MongoDB 索引

MongoDB 索引 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件...

港服(Server.HK)PostgreSQL教程PostgreSQL 别名

PostgreSQL 别名 我们可以用 SQL 重命名一张表或者一个字段的名称,这个名称就叫着该表或该字段的别名。 创建...

港服(Server.HK)Memcached教程:Memcached stats 命令

Memcached stats 命令 Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号...

港服(Server.HK)Redis教程:Redis 数据类型

Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集...

港服(Server.HK)Redis教程:Redis GEO

Redis GEO Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 ...
返回顶部