redis的Pipelined的实验

Pipelined 一千条插入一次 SET: 1.648 seconds
普通模式Pipelined SET: 43.665 seconds
Pipelined 一千条插入一次 SET: 2.153 seconds
普通模式Pipelined SET: 54.158 seconds
Pipelined 一千条插入一次 SET: 2.656 seconds
普通模式Pipelined SET: 53.896 seconds
Pipelined 一千条插入一次 SET: 1.512 seconds
普通模式Pipelined SET: 42.119 seconds
Pipelined 一千条插入一次 SET: 1.952 seconds
普通模式Pipelined SET: 39.732 seconds
Pipelined 一千条插入一次 SET: 2.031 seconds
普通模式Pipelined SET: 41.751 seconds
Pipelined 一千条插入一次 SET: 2.283 seconds
普通模式Pipelined SET: 40.043 seconds
Pipelined 一千条插入一次 SET: 2.18 seconds
普通模式Pipelined SET: 38.206 seconds
Pipelined 一千条插入一次 SET: 1.687 seconds
普通模式Pipelined SET: 40.043 seconds
Pipelined 一千条插入一次 SET: 1.66 seconds
普通模式Pipelined SET: 44.61 seconds
Pipelined 一千条插入一次 SET: 2.496 seconds
普通模式Pipelined SET: 49.562 seconds
Pipelined 一千条插入一次 SET: 1.833 seconds
普通模式Pipelined SET: 40.938 seconds
Pipelined 一千条插入一次 SET: 1.839 seconds
普通模式Pipelined SET: 40.364 seconds

代码:
Pipeline pipeline = JedisUtil.getPipeline();
//kasher redis
public void testPMain(List l) throws Exception{

for (int i = 0; i < 100; i++) {
testP(l);
testP1(l);
pipeline.close();
}
}
public void testP(List l) throws Exception{
//Pipeline pipeline = JedisUtil.getPipeline();
long start = System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
pipeline.set(SerializeUtil.serialize("p" + i), SerializeUtil.serialize(l));
//List<Object> results = pipeline.syncAndReturnAll(); // ---- 1
}
List<Object> results = pipeline.syncAndReturnAll(); // ------2
long end = System.currentTimeMillis();
System.out.println("Pipelined 一千条插入一次 SET: " + ((end - start)/1000.0) + " seconds");
System.out.println(SerializeUtil.unserialize(JedisUtil.get(SerializeUtil.serialize("p6"))));
//pipeline.close();
}
public void testP1(List l) throws Exception{
//Pipeline pipeline = JedisUtil.getPipeline();
long start = System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
pipeline.set(SerializeUtil.serialize("p" + i), SerializeUtil.serialize(l));
List<Object> results = pipeline.syncAndReturnAll(); // ---- 1
}
//List<Object> results = pipeline.syncAndReturnAll(); // ------2
long end = System.currentTimeMillis();
System.out.println("普通模式Pipelined SET: " + ((end - start)/1000.0) + " seconds");
System.out.println(SerializeUtil.unserialize(JedisUtil.get(SerializeUtil.serialize("p6"))));
//pipeline.close();
}

时间: 2024-10-13 22:52:21

redis的Pipelined的实验的相关文章

[redis] 数据特性简单实验

位图 由bit位组成的数组,实际的底层数组类型是字符串,而字符串的本质是二进制大对象,所以将其视作位图,位图存储的是boolean指,一定程度上可以减少存储空间. 127.0.0.1:6379> setbit "users_tried" 100 1 -- 设置位图指定偏移量的比特位的值 (integer) 0 127.0.0.1:6379> getbit "users_online_order" 400 -- 获取指定偏移处比特位的值 (integer)

Redis Cluster集群搭建测试

# Redis Clutser # ## 一.Redis Cluster集群 ## 参考资料: http://www.cnblogs.com/lykxqhh/p/5690923.html Redis集群搭建的方式有多种,例如使用zookper等,但从redis3.0之后版本支持redis cluster集群,Redis Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接.其redis cluster架构图如下: 其结构特点: 1.所有的redis节点彼此互

Redis的高级应用

Redis的高级应用 实验简介 前面学习了Redis的基础知识和基本命令,接下来继续讲解Redis的高级应用,包括:安全性设置,主从复制,事务处理, 持久化机制, 虚拟内存的使用. 一.安全性 设置在客户端连接是需要指定的密码(由于redis速度相当的快,一秒钟可以150K次的密码尝试,所以需要设置一个密码强度很大的密码). 设置密码的方式有两种: (1) 使用config set 命令的requirepass 参数,具体格式为config set requirepass "password&q

Redis Sentinel 学习笔记

转载出处: http://blog.csdn.net/lihao21 概述 Redis Sentinel 是用来实现 Redis 高可用的一套解决方案.Redis Sentinel 由两个部分组成:由一个或者多个 Sentinel 实例组成 Sentinel 系统:由一个主 Redis 服务器(master redis)和多个从 Redis 服务器(slave redis)组成主从备份的 Redis 系统.Sentinel 系统本身是一个分布式的系统,它的作用是监视 redis 服务器,在 ma

Docker运行MongoDB及Redis及ssh端口映射远程连接

Docker运行MongoDB及Redis及ssh端口映射远程连接 本节内容简介 在本实验里我们将通过完成 MongoDB 和 Redis 两个容器来学习Dockerfile及Docker的运行机制. 本节中,我们需要依次完成下面几项任务: MongoDB 的安装及配置 Redis 的安装及配置 Dockerfile 的编写 从 Dockerfile 构建镜像 本次实验的需求是完成 Dockerfile,通过 Dockerfile 创建 MongoDB 或 Redis 应用.Dockerhub上

redis 基本操作

Redis系统管理 实验简介 上一节实验讲述了Redis的基本数据类型,本实验继续讲解Redis相关命令及管理操作. 在Redis中,命令大小写不敏感. 一.适合全体类型的常用命令 启动redis服务和redis-cli命令界面继续后续实验: $ sudo service redis-server start $ redis-cli (1)EXISTS and DEL EXISTS key 判断一个key是否存在;存在返回 1;否则返回0; DEL key 删除某个key,或是一系列key;DE

Redis的过滤器(SCAN)功能

在写另一篇文章( link )的时候,涉及到过滤器(filter)功能.以前没有接触过,整理如下. 主要参考这两篇: http://blog.csdn.net/u011510825/article/details/51859656 http://redis.io/commands/scan 实验如下: $ redis-cli -h [host] -p 8379 > smembers myset 1) "one" 2) "two" > sscan myse

Redis学习第八课:Redis高级实用特性(二)

Redis高级实用特性 4.持久化机制 Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式:(1).snapshotting(快照) 也是默认方式.  快照是默认的持久化方式,这种方式是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb.可以通过配置设置自动做快照持久化的方式.我们可以配置redis在n秒内如果超过m个key的修改就自动做快照. 修改配置文件redis.conf:save 9

Redis漏洞利用与防御

Redis漏洞利用与防御 simeon Redis在大公司被大量应用,通过笔者的研究发现,目前在互联网上已经出现Redis未经授权病毒似自动攻击,攻击成功后会对内网进行扫描.控制.感染以及用来进行挖矿.勒索等恶意行为,早期网上曾经分析过一篇文章"通过redis感染linux版本勒索病毒的服务器"(http://www.sohu.com/a/143409075_765820),如果公司使用了Redis,那么应当给予重视,通过实际研究,当在一定条件下,攻击者可以获取webshell,甚至r