redis应用
2015-07-13 11:34
585 查看
安装redis windows对应版本https://github.com/MSOpenTech/redis
属性文件redis.properties
#redis
redis.maxTotal=600
redis.maxIdle=300
redis.maxWaitMillis=6000
redis.testOnBorrow=true
redis.ip=127.0.0.1
redis.port=6379
配置文件applicationContext-redis.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:beabs="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd ">
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxWaitMillis" value="${redis.maxWaitMillis}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>
<bean id="jedisShardInfo" class="redis.clients.jedis.JedisShardInfo">
<constructor-arg index="0" value="${redis.ip}" />
<constructor-arg index="1" value="${redis.port}" type="int" />
</bean>
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg index="0" ref="jedisPoolConfig" />
<constructor-arg index="1" value="${redis.ip}"/>
<constructor-arg index="2" value="${redis.port}" type="int"/>
</bean>
<bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool">
<constructor-arg index="0" ref="jedisPoolConfig" />
<constructor-arg index="1">
<list>
<ref bean="jedisShardInfo" />
</list>
</constructor-arg>
</bean>
</beans>
加载配置文件applicationContext-webapp.xml
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<!-- 当有2个相同的文件需要spring选择加载哪个时,加载order越小的那个 -->
<property name="order">
<value>1</value>
</property>
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
<value>classpath:redis.properties</value>
......
</list>
</property>
<property name="ignoreResourceNotFound" value="true" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>
package com.kingdee.p2p.redis;
import java.util.List;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import redis.clients.jedis.BinaryClient.LIST_POSITION;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
/**
*
*
* @项目名称:kingdee-portal-site
*
* @包名 com.kingdee.p2p.redis
*
* @类名 RedisAssist
*
* @类描述:redis操作类
*
* @修改备注:
*
* @version V1.0
*
*/
@Component("redisAssist")
public class RedisAssist {
@Autowired
private JedisPool jedisPool;
@Autowired
private ShardedJedisPool shardedJedisPool;
/**
* 判断key是否存在
*
* @param String
* key
* @return boolean
* */
public boolean exists(String key) {
boolean exis = false;
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
exis = shardedJedis.exists(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return exis;
}
/**
* 查询key的过期时间
*
* @param String
* key
* @return 以秒为单位的时间表示
* */
public long ttl(String key) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long len = 0l;
boolean borrowOrOprSuccess = false;
try {
len = shardedJedis.ttl(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return len;
}
/**
* 取消对key过期时间的设置
*
* @param key
* @return 影响的记录数
* */
public long persist(String key) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.persist(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 删除key对应的记录
*
* @param String
* key
* @return 删除的记录数
* */
public long del(String key) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.del(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 设置key的过期时间,以秒为单位
*
* @param String
* key
* @param 时间
* ,已秒为单位
* @return 影响的记录数
* */
public long expired(String key, int seconds) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.expire(key, seconds);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* SET CACHE VALUE
*
* @param key
* @param values
* @return
*/
public boolean setCache(String key, String values) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
shardedJedis.set(key, values);
borrowOrOprSuccess = true;
} catch (Exception e) {
e888
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return true;
}
/**
* GET CACHE VALUE
*
* @param key
* @return
*/
public String getCache(String key) {
String value = "";
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
value = shardedJedis.get(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return value;
}
/**
* GET CACHE VALUES
*
* @param key
* @return
*/
public Set<String> getCaches(String key) {
Set<String> value = null;
Jedis jedis = jedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
value = jedis.keys(key + "*");
borrowOrOprSuccess = true;
} catch (Exception e) {
jedisPool.returnBrokenResource(jedis);
} finally {
if (borrowOrOprSuccess)
jedisPool.returnResource(jedis);
}
return value;
}
/**
* SET Hash Map CACHE VALUE
*
* @param hashname
* @param key
* @param values
* @return
*/
public boolean setMap(String mapName, String key, String values) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
shardedJedis.hset(mapName, key, values);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return true;
}
/**
* GET HASH Map CACHE VALUE
*
* @param hashname
* @param key
* @return
*/
public String getMap(String mapName, String key) {
String value = "";
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
value = shardedJedis.hget(mapName, key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return value;
}
/**
* SET HASH SET VALUE
*
* @param setName
* @param setValues
* @return
*/
public boolean setSet(String setName, String setValues) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
shardedJedis.sadd(setName, setValues);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return true;
}
/**
* GET HASH Set CACHE VALUE
*
* @param hashname
* @param key
* @return
*/
public Set<String> getSet(String setName) {
Set<String> set = null;
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
set = shardedJedis.smembers(setName);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return set;
}
/**
* 向List头部追加记录
*
* @param String
* key
* @param String
* value
* @return 记录总数
* */
public long rpush(String key, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
long count = 0l;
try {
count = shardedJedis.rpush(key, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 向List尾部追加记录
*
* @param String
* key
* @param String
* value
* @return 记录总数
* */
public long lpush(String key, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
long count = 0l;
try {
count = shardedJedis.lpush(key, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 获取List中指定位置的值
*
* @param String
* key
* @param int index 位置
* @return 值
* **/
public String lindex(String key, int index) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
String value = "";
boolean borrowOrOprSuccess = false;
try {
value = shardedJedis.lindex(key, index);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return value;
}
/**
* 在value的相对位置插入记录
*
* @param key
* @param LIST_POSITION
* 前面插入或后面插入
* @param String
* pivot 相对位置的内容
* @param String
* value 插入的内容
* @return 记录总数
* */
public long linsert(String key, LIST_POSITION where, String pivot, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.linsert(key, where, pivot, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* List长度
*
* @param String
* key
* @return 长度
* */
public long llen(String key) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.llen(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 覆盖操作,将覆盖List中指定位置的值
*
* @param key
* @param int index 位置
* @param String
* value 值
* @return 状态码
* */
public String lset(String key, int index, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
String status = "";
boolean borrowOrOprSuccess = false;
try {
status = shardedJedis.lset(key, index, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return status;
}
/**
* 删除List中c条记录,被删除的记录值为value
*
* @param String
* key
* @param int c 要删除的数量,如果为负数则从List的尾部检查并删除符合的记录
* @param String
* value 要匹配的值
* @return 删除后的List中的记录数
* */
public long lrem(String key, int c, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.lrem(key, c, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 获取指定范围的记录,可以做为分页使用
*
* @param String
* key
* @param long start
* @param long end
* @return List
* */
public List<String> lrange(String key, long start, long end) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
List<String> list = null;
boolean borrowOrOprSuccess = false;
try {
list = shardedJedis.lrange(key, start, end);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return list;
}
}
* @包名 com.kingdee.p2p.redis
*
* @文件名:RedisDelAll.java
*
* @创建人:huangZeChen
*
* @版本信息:V1.0
*
* @创建时间:2015年5月6日 下午5:28:58
*
* @版权: 2015
*
*/
package com.kingdee.p2p.redis;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.ShardedJedisPool;
/**
*
* @项目名称:kingdee-portal-site
*
* @包名 com.kingdee.p2p.redis
*
* @类名 RedisDelAll
*
* @类描述:批量删除Redis的key1
*
*
* @修改时间:2015年5月6日 下午5:28:58
*
* @修改备注:
*
* @version V1.0
*
*/
@Component("redisDelAll")
public class RedisDelAll {
@Autowired
private JedisPool jedisPool;
@Autowired
private ShardedJedisPool shardedJedisPool;
public String delAll() {
boolean borrowOrOprSuccess = false;
Jedis jedis = jedisPool.getResource();
String str = "";
try {
str = jedis.flushDB();
borrowOrOprSuccess = true;
} catch (Exception e) {
jedisPool.returnBrokenResource(jedis);
} finally {
if (borrowOrOprSuccess)
jedisPool.returnResource(jedis);
}
return str;
}
}
属性文件redis.properties
#redis
redis.maxTotal=600
redis.maxIdle=300
redis.maxWaitMillis=6000
redis.testOnBorrow=true
redis.ip=127.0.0.1
redis.port=6379
配置文件applicationContext-redis.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:beabs="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd ">
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxWaitMillis" value="${redis.maxWaitMillis}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>
<bean id="jedisShardInfo" class="redis.clients.jedis.JedisShardInfo">
<constructor-arg index="0" value="${redis.ip}" />
<constructor-arg index="1" value="${redis.port}" type="int" />
</bean>
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg index="0" ref="jedisPoolConfig" />
<constructor-arg index="1" value="${redis.ip}"/>
<constructor-arg index="2" value="${redis.port}" type="int"/>
</bean>
<bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool">
<constructor-arg index="0" ref="jedisPoolConfig" />
<constructor-arg index="1">
<list>
<ref bean="jedisShardInfo" />
</list>
</constructor-arg>
</bean>
</beans>
加载配置文件applicationContext-webapp.xml
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<!-- 当有2个相同的文件需要spring选择加载哪个时,加载order越小的那个 -->
<property name="order">
<value>1</value>
</property>
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
<value>classpath:redis.properties</value>
......
</list>
</property>
<property name="ignoreResourceNotFound" value="true" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>
package com.kingdee.p2p.redis;
import java.util.List;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import redis.clients.jedis.BinaryClient.LIST_POSITION;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
/**
*
*
* @项目名称:kingdee-portal-site
*
* @包名 com.kingdee.p2p.redis
*
* @类名 RedisAssist
*
* @类描述:redis操作类
*
* @修改备注:
*
* @version V1.0
*
*/
@Component("redisAssist")
public class RedisAssist {
@Autowired
private JedisPool jedisPool;
@Autowired
private ShardedJedisPool shardedJedisPool;
/**
* 判断key是否存在
*
* @param String
* key
* @return boolean
* */
public boolean exists(String key) {
boolean exis = false;
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
exis = shardedJedis.exists(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return exis;
}
/**
* 查询key的过期时间
*
* @param String
* key
* @return 以秒为单位的时间表示
* */
public long ttl(String key) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long len = 0l;
boolean borrowOrOprSuccess = false;
try {
len = shardedJedis.ttl(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return len;
}
/**
* 取消对key过期时间的设置
*
* @param key
* @return 影响的记录数
* */
public long persist(String key) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.persist(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 删除key对应的记录
*
* @param String
* key
* @return 删除的记录数
* */
public long del(String key) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.del(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 设置key的过期时间,以秒为单位
*
* @param String
* key
* @param 时间
* ,已秒为单位
* @return 影响的记录数
* */
public long expired(String key, int seconds) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.expire(key, seconds);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* SET CACHE VALUE
*
* @param key
* @param values
* @return
*/
public boolean setCache(String key, String values) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
shardedJedis.set(key, values);
borrowOrOprSuccess = true;
} catch (Exception e) {
e888
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return true;
}
/**
* GET CACHE VALUE
*
* @param key
* @return
*/
public String getCache(String key) {
String value = "";
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
value = shardedJedis.get(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return value;
}
/**
* GET CACHE VALUES
*
* @param key
* @return
*/
public Set<String> getCaches(String key) {
Set<String> value = null;
Jedis jedis = jedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
value = jedis.keys(key + "*");
borrowOrOprSuccess = true;
} catch (Exception e) {
jedisPool.returnBrokenResource(jedis);
} finally {
if (borrowOrOprSuccess)
jedisPool.returnResource(jedis);
}
return value;
}
/**
* SET Hash Map CACHE VALUE
*
* @param hashname
* @param key
* @param values
* @return
*/
public boolean setMap(String mapName, String key, String values) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
shardedJedis.hset(mapName, key, values);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return true;
}
/**
* GET HASH Map CACHE VALUE
*
* @param hashname
* @param key
* @return
*/
public String getMap(String mapName, String key) {
String value = "";
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
value = shardedJedis.hget(mapName, key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return value;
}
/**
* SET HASH SET VALUE
*
* @param setName
* @param setValues
* @return
*/
public boolean setSet(String setName, String setValues) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
shardedJedis.sadd(setName, setValues);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return true;
}
/**
* GET HASH Set CACHE VALUE
*
* @param hashname
* @param key
* @return
*/
public Set<String> getSet(String setName) {
Set<String> set = null;
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
try {
set = shardedJedis.smembers(setName);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return set;
}
/**
* 向List头部追加记录
*
* @param String
* key
* @param String
* value
* @return 记录总数
* */
public long rpush(String key, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
long count = 0l;
try {
count = shardedJedis.rpush(key, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 向List尾部追加记录
*
* @param String
* key
* @param String
* value
* @return 记录总数
* */
public long lpush(String key, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
boolean borrowOrOprSuccess = false;
long count = 0l;
try {
count = shardedJedis.lpush(key, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 获取List中指定位置的值
*
* @param String
* key
* @param int index 位置
* @return 值
* **/
public String lindex(String key, int index) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
String value = "";
boolean borrowOrOprSuccess = false;
try {
value = shardedJedis.lindex(key, index);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return value;
}
/**
* 在value的相对位置插入记录
*
* @param key
* @param LIST_POSITION
* 前面插入或后面插入
* @param String
* pivot 相对位置的内容
* @param String
* value 插入的内容
* @return 记录总数
* */
public long linsert(String key, LIST_POSITION where, String pivot, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.linsert(key, where, pivot, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* List长度
*
* @param String
* key
* @return 长度
* */
public long llen(String key) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.llen(key);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 覆盖操作,将覆盖List中指定位置的值
*
* @param key
* @param int index 位置
* @param String
* value 值
* @return 状态码
* */
public String lset(String key, int index, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
String status = "";
boolean borrowOrOprSuccess = false;
try {
status = shardedJedis.lset(key, index, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return status;
}
/**
* 删除List中c条记录,被删除的记录值为value
*
* @param String
* key
* @param int c 要删除的数量,如果为负数则从List的尾部检查并删除符合的记录
* @param String
* value 要匹配的值
* @return 删除后的List中的记录数
* */
public long lrem(String key, int c, String value) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
long count = 0l;
boolean borrowOrOprSuccess = false;
try {
count = shardedJedis.lrem(key, c, value);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return count;
}
/**
* 获取指定范围的记录,可以做为分页使用
*
* @param String
* key
* @param long start
* @param long end
* @return List
* */
public List<String> lrange(String key, long start, long end) {
ShardedJedis shardedJedis = shardedJedisPool.getResource();
List<String> list = null;
boolean borrowOrOprSuccess = false;
try {
list = shardedJedis.lrange(key, start, end);
borrowOrOprSuccess = true;
} catch (Exception e) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} finally {
if (borrowOrOprSuccess)
shardedJedisPool.returnResource(shardedJedis);
}
return list;
}
}
* @包名 com.kingdee.p2p.redis
*
* @文件名:RedisDelAll.java
*
* @创建人:huangZeChen
*
* @版本信息:V1.0
*
* @创建时间:2015年5月6日 下午5:28:58
*
* @版权: 2015
*
*/
package com.kingdee.p2p.redis;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.ShardedJedisPool;
/**
*
* @项目名称:kingdee-portal-site
*
* @包名 com.kingdee.p2p.redis
*
* @类名 RedisDelAll
*
* @类描述:批量删除Redis的key1
*
*
* @修改时间:2015年5月6日 下午5:28:58
*
* @修改备注:
*
* @version V1.0
*
*/
@Component("redisDelAll")
public class RedisDelAll {
@Autowired
private JedisPool jedisPool;
@Autowired
private ShardedJedisPool shardedJedisPool;
public String delAll() {
boolean borrowOrOprSuccess = false;
Jedis jedis = jedisPool.getResource();
String str = "";
try {
str = jedis.flushDB();
borrowOrOprSuccess = true;
} catch (Exception e) {
jedisPool.returnBrokenResource(jedis);
} finally {
if (borrowOrOprSuccess)
jedisPool.returnResource(jedis);
}
return str;
}
}
相关文章推荐
- 用RedisStore解决session的问题
- linux下redis安装
- Redis C语言客户端库hiredis文档翻译
- 记一hiredis redisCommand坑
- 坑爹的hiredis API使用
- 使用RedisTemplate的操作类访问Redis(转)
- Redis+Django(Session,Cookie、Cache)的用户系统
- 深入理解Spring Redis的使用 (四)、RedisTemplate执行Redis脚本
- redis配置文件redis.conf详细说明
- Redis安装教程
- Redis 事件(2) -- 时间事件
- 深入理解Spring Redis的使用 (三)、使用RedisTemplate的操作类访问Redis
- 【转】关于redis.conf的参数配置
- #redis redis-php安装配置
- 安装redis及python redis模块
- 深入浅出Redis04使用Redis数据库(lists类型)
- Windows Azure 系列-- Azure Redis Cache的配置和使用
- 深入理解Spring Redis的使用 (二)、RedisTemplate事务支持、序列化
- 深入浅出Redis03 使用Redis数据库(hashes类型)
- Redis内存分配简单分析