SSM框架集成redis

1. 导入jar包

<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.7.2</version>
		</dependency>


2. 配置redis

<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
		<constructor-arg name="host" value="127.0.0.1" />
		<constructor-arg name="port" value="6379" />
	</bean>
	<bean id="jedisClientPool" class="com.pro.huanbao.utils.jedis.JedisClientPool" />


3. redis工具类

JedisClient.java

package com.pro.huanbao.utils.jedis;

import java.util.List;
import java.util.Set;

public interface JedisClient {

	String set(String key, String value);
	String get(String key);
	Boolean exists(String key);
	Long expire(String key, int seconds);
	Long ttl(String key);
	Long incr(String key);
	Long hset(String key, String field, String value);
	String hget(String key, String field);
	Long hdel(String key, String... field);
	void del(String string);
	
	/**
	 * list集合操作
	 */
	// 添加
	Long lpush(String key, String value);
	// 删除列表指定的值 ,第二个参数为删除的个数(有重复时),后add进去的值先被删,类似于出栈
	Long lrem(String key, long count, String field);
	// 删除下标区间之外的元素 (0-3)
	String ltrim(String key ,long start, long end);
	// 列表元素出栈 
	String lpop(String key);
	// 修改列表中指定下标的值
	String lset(String key, long index, String field);
	// 数组长度
	Long llen(String key);
	// 查询所有元素
	List<String> lrange(String key);
	// 查询指定区间元素
	List<String> lrangeSE(String key, long start, long end);
	
	/**
	 * set集合操作
	 */
	// 添加元素到set集合中
	Long sadd(String key , String... field);
	// 查询set集合所有元素
	Set<String> smembers(String key);
	// 删除元素
	Long srem(String key, String field);
	// 判断元素是否存在集合中
	Boolean sismember(String key, String field);
	// 查看两个集合的交集
	Set<String> sinter(String key, String key2);
	// 查看两个集合的并集
	Set<String> sunion(String key, String key2);
	// 查看两个集合的差集
	Set<String> sdiff(String key, String key2);
	
	/**
	 * zset
	 */
	// 插入
	void zadd( String key,  double score,  String member);
	// 增加,score:增加的个数
	void zincr( String key,  double score,  String member);
	// 查询元素的下标
	Double zscore( String key,  String member);
	// 区下标区间的值,默认排序,end=-1表示查询所有
	Set<String> zrange( String key,  long start,  long end);
	// 区下标区间的值,分数倒序,end=-1表示查询所有
	Set<String> zrevrange(String key,  long start,  long end);
	
}

JedisClientPool.java

package com.pro.huanbao.utils.jedis;

import java.util.List;
import java.util.Set;

import org.springframework.beans.factory.annotation.Autowired;

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

public class JedisClientPool implements JedisClient {
	
	@Autowired
	private JedisPool jedisPool;

	@Override
	public String set(String key, String value) {
		Jedis jedis = jedisPool.getResource();
		String result = jedis.set(key, value);
		jedis.close();
		return result;
	}

	@Override
	public String get(String key) {
		Jedis jedis = jedisPool.getResource();
		String result = jedis.get(key);
		jedis.close();
		return result;
	}

	@Override
	public Boolean exists(String key) {
		Jedis jedis = jedisPool.getResource();
		Boolean result = jedis.exists(key);
		jedis.close();
		return result;
	}

	@Override
	public Long expire(String key, int seconds) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.expire(key, seconds);
		jedis.close();
		return result;
	}

	@Override
	public Long ttl(String key) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.ttl(key);
		jedis.close();
		return result;
	}

	@Override
	public Long incr(String key) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.incr(key);
		jedis.close();
		return result;
	}

	@Override
	public Long hset(String key, String field, String value) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.hset(key, field, value);
		jedis.close();
		return result;
	}

	@Override
	public String hget(String key, String field) {
		Jedis jedis = jedisPool.getResource();
		String result = jedis.hget(key, field);
		jedis.close();
		return result;
	}

	@Override
	public Long hdel(String key, String... field) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.hdel(key, field);
		jedis.close();
		return result;
	}

	@Override
	public Long sadd(String key, String... field) {
		Jedis jedis = jedisPool.getResource();
		Long sadd = jedis.sadd(key, field);
		jedis.close();
		return sadd;
	}

	@Override
	public Set<String> smembers(String key) {
		Jedis jedis = jedisPool.getResource();
		Set<String> smembers = jedis.smembers(key);
		jedis.close();
		return smembers;
	}

	@Override
	public Long srem(String key, String field) {
		Jedis jedis = jedisPool.getResource();
		 Long srem = jedis.srem(key, field);
		jedis.close();
		return srem;
	}

	@Override
	public Boolean sismember(String key ,String field) {
		Jedis jedis = jedisPool.getResource();
		Boolean sismember = jedis.sismember(key, field);
		jedis.close();
		return sismember;
	}

	@Override
	public Set<String> sinter(String key, String key2) {
		Jedis jedis = jedisPool.getResource();
		Set<String> sinter = jedis.sinter(key, key2);
		jedis.close();
		return sinter;
	}

	@Override
	public Set<String> sunion(String key, String key2) {
		Jedis jedis = jedisPool.getResource();
		Set<String> sunion = jedis.sunion(key, key2);
		jedis.close();
		return sunion;
	}

	@Override
	public Set<String> sdiff(String key, String key2) {
		Jedis jedis = jedisPool.getResource();
		Set<String> sdiff = jedis.sdiff(key, key2);
		jedis.close();
		return sdiff;
	}

	@Override
	public Long lpush(String key, String value) {
		Jedis jedis = jedisPool.getResource();
		Long lpush = jedis.lpush(key, value); 
		jedis.close();
		return lpush;
	}

	@Override
	public Long lrem(String key, long count, String field) {
		Jedis jedis = jedisPool.getResource();
		 Long lrem = jedis.lrem(key, count, field);
		jedis.close();
		return lrem;
	}

	@Override
	public String ltrim(String key, long start, long end) {
		Jedis jedis = jedisPool.getResource();
		String ltrim = jedis.ltrim(key, start, end);
		jedis.close();
		return ltrim;
	}

	@Override
	public String lpop(String key) {
		Jedis jedis = jedisPool.getResource();
		String lpop = jedis.lpop(key);
		jedis.close();
		return lpop;
	}

	@Override
	public String lset(String key, long index, String field) {
		Jedis jedis = jedisPool.getResource();
		String lset = jedis.lset(key, index, field); 
		jedis.close();
		return lset;
	}

	@Override
	public Long llen(String key) {
		Jedis jedis = jedisPool.getResource();
		Long llen = jedis.llen(key);
		jedis.close();
		return llen;
	}

	@Override
	public List<String> lrange(String key) {
		Jedis jedis = jedisPool.getResource();
		List<String> lrange = jedis.lrange(key, 0, -1);
		jedis.close();
		return lrange;
	}

	@Override
	public List<String> lrangeSE(String key, long start, long end) {
		Jedis jedis = jedisPool.getResource();
		List<String> lrange = jedis.lrange(key, start, end);
		jedis.close();
		return null;
	}

	@Override
	public void del(String key) {
		Jedis jedis = jedisPool.getResource();
		jedis.del(key);
		jedis.close();
	}

	@Override
	public void zadd(String key, double score, String member) {
		Jedis jedis = jedisPool.getResource();
		jedis.zadd(key, score, member);
		jedis.close();
	}

	@Override
	public void zincr(String key, double score, String member) {
		Jedis jedis = jedisPool.getResource();
		jedis.zincrby(key, score, member);
		jedis.close();
	}

	@Override
	public Double zscore(String key, String member) {
		Jedis jedis = jedisPool.getResource();
		Double zscore = jedis.zscore(key, member);
		jedis.close();
		return zscore;
	}

	@Override
	public Set<String> zrange(String key, long start, long end) {
		Jedis jedis = jedisPool.getResource();
		Set<String> zrange = jedis.zrange(key, start, end);
		jedis.close();
		return zrange;
	}

	@Override
	public Set<String> zrevrange(String key, long start, long end) {
		Jedis jedis = jedisPool.getResource();
		Set<String> zrevrange = jedis.zrevrange(key, start, end);
		jedis.close();
		return zrevrange;
	}

}

4. 使用

注入JedisClient调用接口即可

	@Autowired
	private JedisClient jedisClient;


END


猜你喜欢

转载自blog.csdn.net/lxinccode/article/details/80801516