redis单机版的使用-java

1 通过jedis连接redis单机

项目环境,我是使用ssm框架环境然后加上redis来使用了,大家使用任何框架或者不使用框架都可以使用这个redis缓存。

1、maven包坐标引入

<dependency>

          <groupId>redis.clients</groupId>

          <artifactId>jedis</artifactId>

          <version>2.7.0</version><!--版本号-->

      </dependency>

2、单实例链接 我的linux服务器地址:192.168.1.254


注意:外部连接不上redis的解决方法
由于linux防火墙默认开启,redis的服务端口6379并不在开放规则之内,所有需要将此端口开放访问或者关闭防火墙。
关闭防火墙命令:sevice iptables stop
如果是修改防火墙规则,可以修改:/etc/sysconfig/iptables文件

@Test
    public void testJedisSingle() {
       Jedis jedis = new Jedis("192.168.1.254", 6379);
       jedis.set("name", "bar");
       String name = jedis.get("name");
       System.out.println(name);
       jedis.close();
    }

如果关闭防火墙命令失败  就要先安装iptables   命令是:yum install iptables  如下图



3、redis连接池的使用

@Test
	public void testJedisPool(){
		JedisPool jedisPool=new JedisPool("192.168.1.254", 6379);
		//调用这个对象的方法,方法名称与redis命令一致,
		Jedis jedis = jedisPool.getResource();
		jedis.set("key1", "1");
		System.out.println(jedis.get("key1"));
		jedis.close();
		//关闭jedis
	}

4,spring容器加载配置文件以及封装的类

<!-- 连接池配置,可以写相关配置也可以不写,jedis有个默认的配置 -->
<bean id="jedisPoolConfig"  class="redis.clients.jedis.JedisPoolConfig"></bean>
--><!-- 配置redis链接工具的单例对象 (单机版)-->
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg name="host" value="${jedisPool.host}"></constructor-arg><constructor-arg name="port" value="${jedisPool.port}"></constructor-arg>
<!-- <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>
 --><!-- 我们这里使用默认的配置 --></bean>


import javax.annotation.Resource;

import org.springframework.stereotype.Service;

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

import com.shuang.redis.JedisClient;
/**
 * 单机版redis实现类
 * @author shuang
 *
 */
@Service("jedisClient")
public class JedisClientSingle implements JedisClient {

	@Resource(name="jedisPool")
	private JedisPool jedisPool;//这个在sping中配置好的

	@Override
	public String get(String key) {
		try {
			Jedis jedis = jedisPool.getResource();
			String string=jedis.get(key);
			jedis.close();
			return string;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	@Override
	public String set(String key, String value) {
		try {
			Jedis jedis = jedisPool.getResource();
			String string = jedis.set(key, value);
			jedis.close();
			return string;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	@Override
	public String hget(String hkey, String key) {
		try {
			Jedis jedis = jedisPool.getResource();
			String string = jedis.hget(hkey, key);
			jedis.close();
			return string;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	@Override
	public Long hset(String hkey, String key, String value) {
		try {
			Jedis jedis = jedisPool.getResource();
			Long l = jedis.hset(hkey, key, value);
			jedis.close();
			return l;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	@Override
	public Long incr(String key) {
		try {
			Jedis jedis = jedisPool.getResource();
			Long result = jedis.incr(key);
			jedis.close();
			return result;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	@Override
	public Long decr(String key) {
		try {
			Jedis jedis = jedisPool.getResource();
			Long result =jedis.decr(key);
			jedis.close();
			return result;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	@Override
	public Long expire(String key, int seconds) {
		try {
			Jedis jedis = jedisPool.getResource();
			Long expire = jedis.expire(key,(int) seconds);
			jedis.close();
			return expire;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	@Override
	public Long ttl(String key) {
		try {
			Jedis jedis = jedisPool.getResource();
			Long result = jedis.ttl(key);
			jedis.close();
			return result;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	@Override
	public Long del(String key) {
		try {
			Jedis jedis = jedisPool.getResource();
			Long result = jedis.del(key);
			jedis.close();
			return result;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	@Override
	public Long hdel(String hkey, String key) {
		try {
			Jedis jedis = jedisPool.getResource();
			Long result = jedis.hdel(hkey, key);
			jedis.close();
			return result;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

}
以上是一些简单的部分方法封装。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值