使用Java操作Redis数据库

Redis本身提供了Java支持,这个组建是jedis,要想在redis的编程开发,需要通过maven获取该组建,

一、连接Redis数据库

     要使用Redis数据库,我们首先得测试一下能否正常连接吧,连接都连不上谈什么操作数据库。

1.第一步创建一个maven项目:maven项目怎么创建,这个自己去学吧。

 创建好maven项目后:进入maven仓库找到jedis对应得依赖,我这里使用得是最新版本的jedis的maven依赖

 添加完依赖之后,开始代码的编写:

package com.ht.jedis;

import redis.clients.jedis.Jedis;

public class jedisdemo {
	public static final String REDIS_HOST = "阿里云ip"; //主机地质
	public static final Integer REDIS_PORT = 6379; //端口号
	public static final String REDIS_AUTH = "redis验证密码";  //认证密码
	
	public static  void main(String []args){
		
		
		Jedis  jedis = new Jedis(REDIS_HOST,REDIS_PORT);
		jedis.auth(REDIS_AUTH);
		System.out.println(jedis.ping());
		jedis.close();
	}
}

执行后控制台打印PONG,那么恭喜你,说明redis数据库连接成功


二、使用Jedis进行数据操作

 1.设置字符串数据

set操作(默认的连接上面已经给出这里就不添加)

jedis.set("user_java","hello");
System.out.println(jedis.get("user_java"));

我们通过可视化redis查看发现数据已经被设置。

2.设置有效时间的数据

               jedis.setex("code-huting",3,"7565");
		System.out.println("立即获取数据");
		System.out.println(jedis.get("code-huting"));
		Thread.sleep(3500);
		System.out.println("间隔3.5秒后获取数据");
		System.out.println(jedis.get("code-huting"));
		

运行结果


3.操作hash数据

                jedis.hset("user-admin","name","胡挺");
		jedis.hset("user-admin","age","18");
		System.out.println(jedis.hget("user-admin", "name"));
		System.out.println(jedis.hget("user-admin", "age"));

4.操作list数据

                jedis.lpush("user-gg", "张三","李四","王麻子");
		List<String> all = jedis.lrange("user-gg", 0, -1);
		System.out.println(all);

5.操作set数据

            jedis.sadd("user-customer", "张山","孙悟空","邓紫棋","王思聪");
	    jedis.sadd("user-master", "孙悟空","邓紫棋","李氏","赵氏孤儿");
	    jedis.sinter("user-customer","user-master"); //求交集
	    Set<String> all = jedis.sinter("user-customer","user-master");
	    System.out.println(all);

运行结果


6.操作SortSet数据

                Map<String,Double> map = new HashMap<String,Double>();
		map.put("pid-1-1", 1.0);
		map.put("pid-1-2", 2.0);
		map.put("pid-2-1", 5.0);
		jedis.zadd("user-tiems", map);
		jedis.zrangeByScore("user-tiems", 1.0, 5.0);
		Set<String> alli = jedis.zrangeByScore("user-tiems", 1.0, 5.0);
		System.out.println(alli);
		
		Set<Tuple> all = jedis.zrangeByScoreWithScores("user-tiems", 1.0, 5.0);
		Iterator<Tuple> iter = all.iterator();
		
		while(iter.hasNext()){
			Tuple tuple = iter.next();
			System.out.println("元素名称"+tuple.getElement()+"分数"+tuple.getScore());
		}

运行结果:

7.keys *的使用(在以后的开发中经常用到)

            Set<String> keys = jedis.keys("user-*");
	    System.out.println(keys);

运行结果:


三、Jedis连接池

package com.ht.jedis;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class jedisdemo {
	public static final String REDIS_HOST = "120.79.84.15"; //主机地质
	public static final Integer REDIS_PORT = 6379; //端口号
	public static final String REDIS_AUTH = "huting666";  //认证密码
	public static final Integer TIEMOUT = 1000; //设置redis的超时连接时间
	public static final Integer MAX_TOTAL = 1000; //最大连接数
	public static final Integer MAX_IDLE = 200; //空闲连接数
	public static final Integer MAX_WAIT_MILLIS = 1000; //最大连接等待时间
	public static final Boolean TEST_ON_BORROW = true; //是否进行连接测试,以保证返回的连接为可用连接
	
	public static  void main(String []args) throws InterruptedException{
		
	    //首先想使用Jedis连接池,则必须有个类来保存连接信息。
		
		JedisPoolConfig poolConfig = new JedisPoolConfig();
		poolConfig.setMaxTotal(MAX_TOTAL); //最大连接数
		poolConfig.setMaxIdle(MAX_IDLE);  //空闲连接数
		poolConfig.setMaxWaitMillis(MAX_WAIT_MILLIS); //最大连接等待时间
		poolConfig.setTestOnBorrow(TEST_ON_BORROW);  //是否进行连接测试,以保证返回的连接为可用连接
		JedisPool pool = new JedisPool(poolConfig, REDIS_HOST,REDIS_PORT,TIEMOUT,REDIS_AUTH);
		
		Jedis  jedis = pool.getResource();
		
		System.out.println(jedis.get("age"));
         //操作
 		jedis.close();
 		
 		pool.close();
	}
}

运行结果:

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值