Java Redis Jedis--学习笔记代码片断--序列化
维基百科 : Redis是一个开源、支持网络、基于内存、键值对存储数据库,使用ANSI C编写。其开发由VMware主持。根据月度排行网站DB-Engines.com的数据显示,Redis是最流行的键值对存储数据库。http://zh.wikipedia.org/wiki/Redis
package com.jiangge.jrtest;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.Jedis;
public class JedisTest {
public static void main(String[] args) {
JedisTest jrd = new JedisTest();
jrd.test();
}
public void test(){
Jedis jedis = new Jedis("localhost"); //连接redis Jedis jedis = new Jedis("134.152.244.234",6379);
// redis.auth("redis"); //验证密码
// jedis.flushAll(); //删除所有key
// Set keys = jedis.keys("*");
// System.out.println(keys);
jedis.set("test", "helloword!");
jedis.set("foo", "foovaluehehehehe!");
String value = jedis.get("test");
System.out.println(value);
//列出所有的key,查找特定的key如:redis.keys("foo")
Set keys = jedis.keys("*");
Iterator t1 = keys.iterator() ;
while(t1.hasNext()){
Object obj1 = t1.next();
System.out.println(obj1);
}
//DEL 移除给定的一个或多个key。如果key不存在,则忽略该命令。
Long delResult = jedis.del("name1");
System.out.println("delResult ==>" + delResult);
//TTL 返回给定key的剩余生存时间(time to live)(以秒为单位)
Long ttlResult = jedis.ttl("foo");
System.out.println("ttlResult ==>" + ttlResult);
//PERSIST key 移除给定key的生存时间。
Long persistResult = jedis.persist("foo");
System.out.println("persistResult ==>" + persistResult);
//EXISTS 检查给定key是否存在。
Boolean existsResult = jedis.exists("foo");
System.out.println("existsResult ==>" + existsResult);
//MOVE key db 将当前数据库(默认为0)的key移动到给定的数据库db当中。如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定key,或者key不存在于当前数据库,那么MOVE没有任何效果。
jedis.move("foo", 1);//将foo这个key,移动到数据库1
//RENAME key newkey 将key改名为newkey。当key和newkey相同或者key不存在时,返回一个错误。当newkey已经存在时,RENAME命令将覆盖旧值。
jedis.rename("foo", "foonew");
//TYPE key 返回key所储存的值的类型。
System.out.println("key所储存的值的类型 ==>" + jedis.type("test"));//none(key不存在),string(字符串),list(列表),set(集合),zset(有序集),hash(哈希表)
//EXPIRE key seconds 为给定key设置生存时间。当key过期时,它会被自动删除。
jedis.expire("foo", 5);//5秒过期
//EXPIREAT EXPIREAT的作用和EXPIRE一样,都用于为key设置生存时间。不同在于EXPIREAT命令接受的时间参数是UNIX时间戳(unix timestamp)。
//一般SORT用法 最简单的SORT使用方法是SORT key。
jedis.lpush("sort", "1");
jedis.lpush("sort", "4");
jedis.lpush("sort", "6");
jedis.lpush("sort", "3");
jedis.lpush("sort", "0");
List list = jedis.sort("sort"); //默认是升序
for(int i=0;i" + jedis.dbSize());//dbSize是多少个key的个数
//APPEND key value如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值之后。
System.out.println("append before==>" + jedis.get("foo"));
jedis.append("foo", "00");//如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值之后。
System.out.println("append after==>" + jedis.get("foo"));
//GET key 返回key所关联的字符串值
String getResult = jedis.get("name");
System.out.println("getResult==>" + getResult);
//MGET key [key ...] 返回所有(一个或多个)给定key的值, 如果key不存在,则返回null
List getList = jedis.mget("address","name", "myboss");
for(int i=0; i map = new HashMap();
map.put("cardid", "123456");
map.put("username", "yixiaohan");
jedis.hmset("hash", map);
//HGET key field返回哈希表key中给定域field所对应的值。
System.out.println("哈希表key中给定域field所对应的值==>" + jedis.hget("hash", "username"));
//HMGET key field [field ...]返回哈希表key中,一个或多个给定域的值。
List hlist = jedis.hmget("website","google","baidu","sina");
for(int i=0;i " + hlist.get(i));
}
//HGETALL key返回哈希表key中,所有的域和值。
Map allmap = jedis.hgetAll("hash");
for(Map.Entry entry: allmap.entrySet()) {
System.out.print(entry.getKey() + ":" + entry.getValue()