您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

《Redis操作Python系列、python对redis字符串操作效率 vs mysql测试|CSDN创作打卡》

本次python操作redis,对比mysql直接操作。

效果mysql速度更快。

下次我会做一个【python操作redis】与【python操作mysql】对照测试。

python对redis字符串操作效率 vs mysql测试

redis到底有多快,总得有个对照。那么就对照一

先set一万次试试

import redis
import time

start = time.time()

r = redis.Redis(host='localhost', port=6379, decode_responses=True)

for i in range(0,10000):
    r.set('SetKey',i)

print(r.get('SetKey'))

end = time.time()
print(end - start)

用时1.97秒

时间消耗其实不少,但是比数据库例如mysql快了很多哦。

如果是【INCR】再试试

import redis
import time

start = time.time()

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.set('SetKey',0)
for i in range(0,10000):
    r.incr('SetKey')

print(r.get('SetKey'))

end = time.time()
print(end - start)

快了一些有限。

但是也非常不错了。

我电脑性能比较低,如果换成linux服务器的话效果会非常好的。

MySQL一万次添加操作

创建一个试试

CREATE TABLE `redis_test` (
  `id` int(8) NOT NULL AUTO_INCREMENT,
  `info` int(8) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

 存储过程

delimiter $$ 
create procedure add_info()
begin
declare i int default 0 ;while i<10000 do
INSERT INTO `redis_test` VALUES (0, 1);
set i=i+1;
end while;
end 
$$
delimiter ;

调用

call add_info;

 

确定添加成功,共计用时:0.511s

相对来说看不出来。

但是咱们用大批量测试一下,都加上一个【0】十万次

Python修改redis的set【10万】次

import redis
import time

start = time.time()

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.set('SetKey',0)
for i in range(0,100000):
    r.incr('SetKey')

print(r.get('SetKey'))

end = time.time()
print(end - start)

python用时20秒 

存储过程10万次

CREATE DEFINER=`root`@`localhost` PROCEDURE `add_info`()
begin
declare i int default 0 ;while i<100000 do
INSERT INTO `redis_test` VALUES (0, 1);
set i=i+1;
end while;
end

数据库用时4.3s 

好吧,我承认,用Python操作Redis的效率不是很高啊。

后面我会对java使用以及C#使用都做一个测试。

希望能更好的测试出具体的效果。

看热闹的可以点个赞啊。


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进