package util;
import redis.clients.jedis.BinaryClient;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* qingshan
*/
public class JedisUtil {
private JedisPool pool = null;
private JedisUtil() {
if (pool == null) {
String ip = ResourceUtil.getKey("redis.host");
int port = Integer.valueOf(ResourceUtil.getKey("redis.port"));
String password = ResourceUtil.getKey("redis.password");
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
if (password != null && !"".equals(password)) {
// redis 设置了密码
pool = new JedisPool(jedisPoolConfig, ip, port, 10000, password);
} else {
// redis 未设置密码
pool = new JedisPool(jedisPoolConfig, ip, port, 10000);
}
}
}
/**
* 获取指定key的值,如果key不存在返回null,如果该Key存储的不是字符串,会抛出一个错误
*
* @param key
* @return
*/
public String get(String key) {
Jedis jedis = getJedis();
String value = null;
value = jedis.get(key);
return value;
}
/**
* 设置key的值为value
*
* @param key
* @param value
* @return
*/
public String set(String key, String value) {
Jedis jedis = getJedis();
return jedis.set(key, value);
}
public Object eval(String script, List<String> keys, List<String> args) {
Jedis jedis = getJedis();
return jedis.eval(script, keys,args);
}
/**
* 删除指定的key,也可以传入一个包含key的数组
*
* @param keys
* @return
*/
public Long del(String... keys) {
Jedis jedis = getJedis();
return jedis.del(keys);
}
/**
* 通过key向指定的value值追加值
*
* @param key
* @param str
* @return
*/
public Long append(String key, String str) {
Jedis jedis = getJedis();
return jedis.append(key, str);
}
/**
* 判断key是否存在
*
* @param key
* @return
*/
public Boolean exists(String key) {
Jedis jedis = getJedis();
return jedis.exists(key);
}
/**
* 设置key value,如果key已经存在则返回0
*
* @param key
* @param value
* @return
*/
public Long setnx(String key, String value) {
Jedis jedis = getJedis();
return jedis.setnx(key, value);
}
/**
* 设置key value并指定这个键值的有效期
*
* @param key
* @param seconds
* @param value
* @return
*/
public String setex(String key, int seconds, String value) {
Jedis jedis = getJedis();
return jedis.setex(key, seconds, value);
}
/**
* 通过key 和offset 从指定的位置开始将原先value替换
*
* @param key
* @param offset
* @param str
* @return
*/
public Long setrange(String key, int offset, String str) {
Jedis jedis = getJedis();
return jedis.setrange(key, offset, str);
}
/**
* 通过批量的key获取批量的value
*
* @param keys
* @return
*/
public List<String> mget(String... keys) {
Jedis jedis = getJedis();
return jedis.mget(keys);
}
/**
* 批量的设置key:value,也可以一个
*
* @param keysValues
* @return
*/
public String mset(String... keysValues) {
Jedis jedis = getJedis();
return jedis.mset(keysValues);
}
/**
* 批量的设置key:value,可以一个,如果key已经存在则会失败,操作会回滚
*
* @param keysValues
* @return
*/
public Long msetnx(String... keysValues) {
Jedis jedis = getJedis();
return jedis.msetnx(keysValues);
}
/**
* 设置key的值,并返回一个旧值
*
* @param key
* @param value
* @return
*/
public String getSet(String key, String value) {
Jedis jedis = getJedis();
return jedis.getSet(key, value);
}
/**
* 通过下标 和key 获取指定下标位置的 value
*
* @param key
* @param startOffset
* @param endOffset
* @return
*/
public String getrange(String key, int startOffset, int endOffset) {
Jedis jedis = getJedis();
return jedis.getrange(key, startOffset, endOffset);
}
/**
* 通过key 对value进行加值+1操作,当value不是int类型时会返回错误,当key不存在是则value为1
*
* @param key
* @return
*/
public Long incr(String key) {
Jedis jedis = getJedis();
return jedis.incr(key);
}
/**
* 通过key给指定的value加值,如果key不存在,则这是value为该值
*
* @param key
* @param integer
* @return
*/
public Long incrBy(String key, long integer) {
Jedis jedis = getJedis();
return jedis.incrBy(key, integer);
}
/**
* 对key的值做减减操作,如果key不存在,则设置key为-1
*
* @param key
* @return
*/
public Long decr(String key) {
Jedis jedis = getJedis();
return jedis.decr(key);
}
/**
* 减去指定的值
*
* @param key
* @param integer
* @return
*/
public Long decrBy(String key, long integer) {
Jedis jedis = getJedis();
return jedis.decrBy(key, integer);
}
/**
* 通过key获取value值的长度
*
* @param key
* @return
*/
public Long strLen(String key) {
Jedis jedis = getJedis();
return jedis.strlen(key);
}
/**
* 通过key给field设置指定的值,如果key不存在则先创建,如果field已经存在,返回0
*
* @param key
* @param field
* @param value
* @return
*/
public Long hsetnx(String key, String field, String value) {
Jedis jedis = getJedis();
return jedis.hsetnx(key, field, value);
}
/**
* 通过key给field设置指定的值,如果key不存在,则先创建
*
* @param key
* @param field
* @param value
* @return
*/
public Long hset(String key, String field, String value) {
Jedis jedis = getJedis();
return jedis.hset(key, field, value);
}
/**
* 通过key同时设置 hash的多个field
*
* @param key
* @param hash
* @return
*/
public String hmset(String key, Map<String, String> hash) {
Jedis jedis = getJedis();
return jedis.hmset(key, hash);
}
/**
* 通过key 和 field 获取指定的 value
*
* @param key
* @param fiedld
* @return
*/
public String hget(String key, String fiedld) {
Jedis jedis = getJedis();
return jedis.hget(key, fiedld);
}
/**
* 设置key的超时时间为seconds
*
* @param key
* @param seconds
* @return
*/
public Long expire(String key, int seconds) {
Jedis jedis = getJedis();
return jedis.expire(key, seconds);
}
/**
* 通过key 和 fields 获取指定的value 如果没有对应的value则返回null
*
* @param key
* @param fields 可以是 一个String 也可以是 String数组
* @return
*/
public List<String> hmget(String key, String... fields) {
Jedis jedis = getJedis(
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
gupao-jedis.zip (96个子文件)
pom.xml 2KB
target
classes
pipeline
PipelineGet$1.class 2KB
PipelineGet$2.class 2KB
PipelineGet.class 558B
PipelineSet.class 1KB
pool
JedisPoolTest.class 3KB
cluster
ClusterTest.class 1KB
pubsub
ListenTest.class 758B
PublishTest.class 714B
MyListener.class 1KB
shard
ShardingTest.class 3KB
monitor
MonitorTest.class 681B
MonitorTest$1.class 1KB
redis.properties 95B
distlock
DistLock.class 2KB
myclient
MyClient.class 2KB
concurrency
CyclicBarrierTest$Task.class 1KB
CyclicBarrierTest.class 1KB
lua
LuaTest.class 3KB
lru
LRUCache.class 2KB
LRUCache$LRUNode.class 611B
sentinel
JedisSentinelTest.class 2KB
selector
testServer.class 3KB
a001_basic_datatype
a002_ListTest.class 1KB
BasicTest.class 909B
a003_SetTest.class 1KB
a005_ZSetTest.class 2KB
a004_HashTest.class 1KB
a001_SimpleTest.class 814B
a002_external_datatype
BytesTest.class 1KB
Distribution3.class 1KB
StringTest.class 1KB
StringTest$2.class 1KB
GeoTest.class 1KB
RedisTransaction.class 639B
Distribution1$1.class 1KB
Distribution2.class 728B
HyperLogLogTest.class 2KB
Distribution4.class 1KB
Distribution1.class 728B
Distribution4$1.class 1KB
a001_BitmapTest.class 1KB
RedisTransaction$2.class 2KB
Distribution3$1.class 1KB
Distribution2$1.class 1KB
StringTest$1.class 1KB
RedisTransaction$1.class 2KB
util
JedisUtil.class 14KB
ResourceUtil.class 672B
generated-sources
annotations
src
test
java
main
resources
redis.properties 95B
java
pipeline
PipelineSet.java 673B
PipelineGet.java 2KB
pool
JedisPoolTest.java 2KB
pubsub
MyListener.java 1KB
PublishTest.java 331B
ListenTest.java 414B
monitor
MonitorTest.java 701B
distlock
DistLock.java 2KB
myclient
MyClient.java 3KB
concurrency
CyclicBarrierTest.java 1KB
lua
LuaTest.java 2KB
lru
LRUCache.java 3KB
a004_sentinel
JedisSentinelTest.java 952B
selector
testServer.java 3KB
a001_basic_datatype
a003_SetTest.java 2KB
a004_HashTest.java 936B
a005_ZSetTest.java 2KB
a001_SimpleTest.java 303B
a002_ListTest.java 577B
BasicTest.java 354B
a002_external_datatype
Distribution2.java 999B
Distribution3.java 1KB
HyperLogLogTest.java 832B
Distribution1.java 1KB
RedisTransaction.java 2KB
a001_BitmapTest.java 638B
Distribution4.java 1KB
StringTest.java 5KB
GeoTest.java 688B
BytesTest.java 693B
util
JedisUtil.java 22KB
ResourceUtil.java 390B
a003_shard
ShardingTest.java 1KB
a005_cluster
ClusterTest.java 1KB
.idea
uiDesigner.xml 9KB
misc.xml 443B
modules.xml 262B
compiler.xml 634B
workspace.xml 50KB
libraries
Maven__commons_io_commons_io_2_4.xml 503B
Maven__com_google_guava_guava_21_0.xml 499B
Maven__org_apache_commons_commons_lang3_3_4.xml 556B
Maven__redis_clients_jedis_2_9_0.xml 494B
Maven__org_apache_commons_commons_pool2_2_4_2.xml 570B
inspectionProfiles
Project_Default.xml 1KB
gupao-jedis.iml 1KB
共 96 条
- 1
祖母绿宝石
- 粉丝: 2w+
- 资源: 148
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0