最近还在弄电信的一个系统,说起来吧,这电信也真的是要求严苛,不仅对系统的业务要求高,性能还要好、编码格式还得按要求来。不过也幸亏有这些要求,不然,今天也就不会让我有机会去接触内存数据库,并写这篇关于redis的文章。
其实选择用这个redis是因为上次备选的H2的内存数据库的方案被否定了。这才选择了redis。使用它,可以大幅提高数据的查询效率,而且redis自身可以完成持久化,这就不会造成因服务器关闭而数据丢失的情况。同时它也支持集群。
这里,就简单写了一个使用redis的Demo,
首先是要下载下个redis的包:
压缩包里有如下几文件:
解压缩后,双击里面的redis-server.exe的文件。就可以启动redis,然后就可以用以下的,代码来连接、内存DB、以及对DB中的数据进行操作。
public class Demo {
public static void main(String[] args) {
Demo demo = new Demo();
demo.test();
}
public void test(){
Jedis redis = new Jedis("localhost",6379);//连接redis
//hset key field value将哈希表key中的域field的值设为value。
redis.hset("yyweb", "music", "m.yy.com");
redis.hset("yyweb", "mall", "mai.yy.com");
redis.hset("yyweb", "duowan", "www.duowan.com");
//返回哈希表key中,一个或多个给定域的值。
List list = redis.hmget("yyweb","music","mall","duowan");
for(int i=0;i
System.out.println(list.get(i));
}
//同时将多个field - value(域-值)对设置到哈希表key中。
Map map = new HashMap();
map.put("uid", "10000");
map.put("username", "chenxu");
redis.hmset("hash", map);
//得到map下面的username的值
System.out.println(redis.hget("hash", "username"));
//HGETALL key返回哈希表key中,所有的域和值。
Map maps = redis.hgetAll("hash");
for(Map.Entry entry: maps.entrySet()) {
System.out.print(entry.getKey() + ":" + entry.getValue() +"t");
}
}
}