java 操作Redis

使用Java来对远程内存级数据库进行操作,需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip

package chart1;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import redis.clients.jedis.Jedis;

public class demo {
	private Jedis jedis=null;
	
	  public void setup(){
		  //连接Redis服务器,IP+端口号,Redis的端口号一般是6379
		  //jedis=new Jedis("192.168.31.237",6379);
		  jedis=new Jedis("127.0.0.1",6379);
		  System.out.println("服务器连接成功");
		  //权限认证,本机Redis内存数据库未设置密码
		 // jedis.auth("admin");
		  
	  }
	  
	  /*
	   * redis存储字符串
	   */
	  public void testString(){
		  jedis.set("name", "wangjiabin");//添加数据
		  System.out.println(jedis.get("name"));
		  
		  jedis.del("name");//删除数据
		  System.out.println(jedis.get("name"));
		  
		  jedis.append("name", " is the best");//字符串拼接
		  System.out.println(jedis.get("name"));
		  
		  jedis.mset("name","zhuzhu","age","22","wechat","333545");//设置多个键值对
		  jedis.incr("age"); //进行加1操作
		  System.out.println(jedis.get("name")+"  "+jedis.get("age"));
		    
	  }
       /*
        * redis 操作List列表
        */
	  public void testList(){
		  jedis.del("java framework");
		 // System.out.println(jedis.lrange("java framework", 0, -1));
		  
		  jedis.lpush("java framework", "springs");//将给定的值推入列表的左侧
		  jedis.lpush("java framework","struts2");
		  jedis.lpush("java framework", "hibernate");
		  //使用0为范围的起始索引,-1位范围的结束索引,可以去除列表中包含的所有元素。
		  System.out.println(jedis.lrange("java framework",0, -1));
		 // System.out.println(jedis.llen("java framework"));//列表中元素的长度
		  
		  jedis.rpush("java framework", "struts3");//将给定的值推入列表的右侧
		  jedis.rpush("java framework", "hibernate1");
		 // System.out.println(jedis.lrange("java framework", 0,-1));
		 // System.out.println(jedis.lindex("java framework",4));//按索引从列表中取出单个元素,列表中的索引是从0开始的
		  jedis.lpop("java framework");//从列表的左端弹出一个值
		  jedis.rpop("java framework");//从列表的右端弹出一个值
		  System.out.println(jedis.lrange("java framework", 0,-1)); 
	  }
	  
	  /*
	   * redis 操作set无序集合
	   * 通过散列保证自己存储的每个字符串都不相同
	   */
	  
	  public void testSet(){
		  
		  jedis.sadd("user", "liuxiang");//将元素添加到集合中,这个集合是无序的,无法保存相同元素
		  jedis.sadd("user", "lixin");
		  jedis.sadd("user", "zhuzhuzhuwen");
		  jedis.sadd("user", "zhu1");
		  jedis.sadd("user", "zhu2");
		  jedis.sadd("user", "zhu3");
		  jedis.sadd("user", "zhu3");
		  jedis.srem("user", "zhu2");//移除一个元素
		  
		  System.out.println(jedis.smembers("user"));//返回集合包含的所有元素
		  System.out.println(jedis.sismember("user", "zhu2"));//检查给定元素是否包含在集合中,返回值是bool类型
	  } 
	  public void testHash(){
		  //HSET key field value将哈希表key中的域field的值设为value。   
	        jedis.hset("website", "google", "www.google.cn");   
	        jedis.hset("website", "baidu", "www.baidu.com");   
	        jedis.hset("website", "sina", "www.sina.com");  
	        System.out.println(jedis.hget("website", "google"));//获取指定散列键的值
	        System.out.println(jedis.hgetAll("website"));//获取散列包含的所有键值对

	        //HMSET key field value [field value ...] 同时将多个field - value(域-值)对设置到哈希表key中。   
	        Map map = new HashMap();   
	        map.put("cardid", "123456");   
	        map.put("username", "jzkangta");   
	        jedis.hmset("hash", map);   //存储Map集合
	        System.out.println( jedis.hmget("hash", "cardid","username"));
            
	        
	        //HGET key field返回哈希表key中给定域field的值。   
	        System.out.println(jedis.hget("hash", "username"));   

	        //HMGET key field [field ...]返回哈希表key中,一个或多个给定域的值。   
	        List list = jedis.hmget("website","google","baidu","sina");   
	        
	        for(int i=0;i<list.size();i++){   
	            System.out.println(list.get(i));   
	        }   

	        
	        System.out.println(jedis.hlen("website"));   
	        System.out.println(jedis.hkeys("website")); 
	        System.out.println(jedis.hvals("website")); 
	        //HGETALL key返回哈希表key中,所有的域和值。   
	        Map<String,String> map1 = jedis.hgetAll("hash");   //通过key获取map 集合中的值
	        for(Map.Entry entry: map1.entrySet()) {   
	             System.out.print(entry.getKey() + ":" + entry.getValue() + "\t");   
	        }  
	        
	        jedis.hdel("website", "google");//删除哈希表key中的一个或多个指定域
             List list1 = jedis.hmget("website","google","baidu","sina");   
	        
	        for(int i=0;i<list1.size();i++){   
	            System.out.println(list1.get(i));   
	        }   
	        //HDEL key field [field ...]删除哈希表key中的一个或多个指定域。   
	        //HLEN key 返回哈希表key中域的数量。   
	        //HEXISTS key field查看哈希表key中,给定域field是否存在。   
	        //HINCRBY key field increment为哈希表key中的域field的值加上增量increment。   
	        //HKEYS key返回哈希表key中的所有域。   
	        //HVALS key返回哈希表key中的所有值。   

		 
	  }
	  
	  
	  
	   public static void main(String[] args) {
		   demo d=new demo();
		   d.setup();
		  // d.testString();
		   //d.testList();
		  // d.testSet();
		   d.testHash();
		   
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值