package redis;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.Pipeline;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPipeline;
import redis.clients.jedis.ShardedJedisPool;
import redis.clients.jedis.Transaction;
public class TestRedis {
@Test
public void test() {
/* Jedis js = new Jedis("127.0.0.1", 6379);
js.set("key001", "redis001");
String val = js.get("key001");
System.out.println(val);
js.del("key001");
String val2 = js.get("key001");
System.out.println(val2);
*//**************************测试Redis的数据类型**************************//*
*//**
* list
*//*
js.rpush("list1", "aaaaaaaaaaaaaaaaaaaaaa");
js.rpush("list1", "bbbbbbbbbbbbbbbbbbbbbb");
js.rpush("list1", "ccccccccccccccccccccc");
js.rpush("list1", "dddddddddddddd");
List<String> vals = js.lrange("list1", 0, -1);
for (int i = 0; i < vals.size(); i++) {
System.out.println(vals.get(i));
}
*//**
* set 无须唯一
*//*
js.sadd("s1", "顺序3");
js.sadd("s1", "a");
js.sadd("s1", "b");
js.sadd("s1", "1");
js.sadd("s1", "蛤蛤蛤");
js.sadd("s1", "2");
js.sadd("s1", "so waht?");
js.sadd("s1", "%^");
js.sadd("s1", "顺序1");
js.sadd("s1", "乱码吗?");
js.sadd("s1", "顺序2");
Set<String> s = js.smembers("s1");
for (String string : s) {
System.out.println(s);
}
js.srem("s1", "蛤蛤蛤");
*//**
* zset(sorted set 有序集合)
* 有2中编码类型:ziplist,skiplist,当zset中数据较多时,将会被重构为skiplist,按照19、66、87、92、93、94顺序排列
*//*
js.zadd("zs", 92, "张三1");
js.zadd("zs", 93, "张三7");
js.zadd("zs", 94, "张三5");
js.zadd("zs", 87, "张三9");
js.zadd("zs", 66, "张三");
js.zadd("zs", 19, "张三0");
Set<String> sets = js.zrange("zs", 0, -1);
for (String string : sets) {
System.out.println(sets);
}
*//**
* Hash
*//*
Map m = new HashMap();
m.put("1", "t");
m.put("2", "ttt");
m.put("username", "老王");
m.put("password", "123456");
m.put("age", "79");
m.put("sex", "man");
js.hmset("m", m);
List<String> v = js.hmget("m", new String[]{"username","age"});
List<String> v1 = js.hmget("m", "sex");
System.out.println(v);
System.out.println(v1);
js.hdel("m", "username");//删除map中的某一个键的键值对
*/
/**************************事务控制**************************/
/**
* 事务方式(Transactions)
* 他主要目的是保障,一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。
*
* 我们调用jedis.watch(…)方法来监控key,如果调用后key值发生变化,则整个事务会执行失败。
* 另外,事务中某个操作失败,并不会回滚其他操作。这一点需要注意。
* 还有,我们可以使用discard()方法来取消事务。
*/
Jedis js1 = new Jedis("127.0.0.1", 6380);
long ss = System.currentTimeMillis();
System.out.println("开始事物系统时间:"+ss);
Transaction tx = js1.multi();//开始事物,
for (int i = 0; i < 99999; i++) {
tx.set("redis"+i, "redis_value"+i);
}
List<Object> res= tx.exec();//执行事务
System.err.println(res);
long e = System.currentTimeMillis();
System.out.println("结束事物系统时间:"+e);
System.out.println((e-ss)/1000.0+"秒");
// System.out.println(res);
js1.disconnect();
/**************************管道**************************/
/**
* 管道(Pipelining)
* 有时,我们需要采用异步方式,一次发送多个指令,不同步等待其返回结果。
* 这样可以取得非常好的执行效率。这就是管道
*/
/* Jedis js2 = new Jedis("127.0.0.1", 6379);
long s = System.currentTimeMillis();
Pipeline pe = js2.pipelined();
for (int i = 0; i < 99999; i++) {
pe.set("keya"+i, "valuea"+i);
}
List<Object> l = pe.syncAndReturnAll();//异步
long e = System.currentTimeMillis();
System.out.println((e-s)/1000.0+"秒");//用了0.729秒
js2.disconnect();*/
/**************************管道中调用事务**************************/
/**
* 管道中调用事务
* 在用法上看,管道中包含了事务
*/
/* Jedis js3 = new Jedis("127.0.0.1", 6379);
long s = System.currentTimeMillis();
Pipeline pe = js3.pipelined();
pe.multi();
for (int i = 0; i < 9999; i++) {
pe.set("keybb"+i, "valuebb"+i);
}
pe.exec();
List<Object> l = pe.syncAndReturnAll();
long e = System.currentTimeMillis();
System.out.println((e-s)/1000.0+"秒");//用了0.716秒
js3.disconnect(); */
/**************************分布式直连同步调用**************************/
/**
* 分布式直连同步调用
* 线程不安全的,不建议在线程池中使用直连
*/
/* List<JedisShardInfo> shards = Arrays.asList(
new JedisShardInfo("localhost",6379),
new JedisShardInfo("localhost",6380));
ShardedJedis sharding = new ShardedJedis(shards);
long start = System.currentTimeMillis();
for (int i = 0; i < 99999; i++) {
String result = sharding.set("sn" + i, "n" + i);
}
long end = System.currentTimeMillis();
System.out.println("Simple@Sharing SET: " + ((end - start)/1000.0) + " seconds");
sharding.disconnect(); */
/**************************分布式直连同步调用**************************/
/**
* 分布式直连异步调用
* 线程不安全的,不建议在线程池中使用直连
*/
/* List<JedisShardInfo> shards = Arrays.asList(
new JedisShardInfo("localhost",6379),
new JedisShardInfo("localhost",6380));
ShardedJedis sharding = new ShardedJedis(shards);
ShardedJedisPipeline pipeline = sharding.pipelined();
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
pipeline.set("sp" + i, "p" + i);
}
List<Object> results = pipeline.syncAndReturnAll();
long end = System.currentTimeMillis();
System.out.println("Pipelined@Sharing SET: " + ((end - start)/1000.0) + " seconds");//消耗0.763秒
sharding.disconnect(); */
/**************************分布式连接池同步调用**************************/
/**
* 同步方式
*/
/* List<JedisShardInfo> shards = Arrays.asList(
new JedisShardInfo(
没有合适的资源?快使用搜索试试~ 我知道了~
memcached+mysql+oracle+redis速率比较
共32个文件
jar:9个
java:6个
class:6个
4星 · 超过85%的资源 需积分: 20 61 下载量 54 浏览量
2015-02-28
17:14:30
上传
评论
收藏 4.43MB ZIP 举报
温馨提示
(Oracle\Mysql\Mencached\redis)存储速率的比较
资源推荐
资源详情
资源评论
收起资源包目录
workspace.zip (32个子文件)
Memcached_simple
bin
MyCache.class 2KB
TestBean.class 841B
.settings
org.eclipse.jdt.core.prefs 598B
src
MyCache.java 2KB
TestBean.java 453B
.project 392B
.classpath 568B
lib
slf4j-api-1.6.1.jar 25KB
java_memcached-release_2.6.3.jar 79KB
slf4j-simple-1.6.1.jar 7KB
commons-pool-1.5.6.jar 98KB
mysql+oracle
bin
a.properties 129B
cn
jdbc
Mysql.class 3KB
Demo01_Jdbc.class 4KB
utils
Connuitls.class 1KB
.settings
org.eclipse.jdt.core.prefs 598B
src
a.properties 129B
cn
jdbc
Demo01_Jdbc.java 4KB
Mysql.java 2KB
utils
Connuitls.java 817B
.project 388B
.classpath 509B
lib
ojdbc6.jar 2.59MB
mysql-connector-java-5.1.5-bin.jar 661KB
redis
bin
redis
TestRedis.class 2KB
.settings
org.eclipse.jdt.core.prefs 598B
src
redis
TestRedis.java 10KB
.project 381B
.classpath 579B
lib
commons-pool2-2.0.jar 105KB
jedis-2.4.1.jar 572KB
spring-data-redis-1.3.4.RELEASE.jar 578KB
共 32 条
- 1
资源评论
- lutianmao2015-08-14还不错咯,有些帮助。
独白情歌_me
- 粉丝: 1
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功