生活随笔
收集整理的這篇文章主要介紹了
redis操作帮助类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
RedisHelper.java
import redis.clients.jedis.*;import java.util.*;public class RedisHelper {private static JedisPool pool;private static RedisHelper redisHelper = null;/*** 通過靜態工廠方法來溝通對象,復用對象,避免每次重新產生新對象*/public static RedisHelper newInstance(String host, int port, String password, int maxIdle, int maxTotal, long maxWaitMillis) {if (null != redisHelper)return redisHelper;synchronized (RedisHelper.class) {if (null != redisHelper)return redisHelper;redisHelper = new RedisHelper(host, port, password, maxIdle, maxTotal, maxWaitMillis);return redisHelper;}}private RedisHelper(String host, int port, String password, int maxIdle, int maxTotal, long maxWaitMillis) {if (null != pool)return;JedisPoolConfig config = new JedisPoolConfig();config.setMaxIdle(maxIdle);//最大空閑連接數config.setMaxTotal(maxTotal);//最大連接數config.setTestOnBorrow(true);config.setTestOnReturn(false);config.setMaxWaitMillis(maxWaitMillis);pool = new JedisPool(config, host, port, 10000, password);}/*** 沒有特別需求,請不要在外部調用此方法*/public Jedis getConnection() {return pool.getResource();}public void returnConnection(Jedis conn) {//自Jedis3.0版本后jedisPool.returnResource()遭棄用,官方重寫了Jedis的close方法用以代替if (null != conn) {conn.close();}}public Pipeline pipeline() {Jedis conn = null;try {conn = this.getConnection();return conn.pipelined();} finally {this.returnConnection(conn);}}public Set<String> keys(String pattern) {Jedis conn = null;try {conn = this.getConnection();return conn.keys(pattern);} finally {this.returnConnection(conn);}}public void set(String key, String value) {Jedis conn = null;try {conn = this.getConnection();conn.set(key, value);} finally {this.returnConnection(conn);}}public long setNx(String key, String value) {Jedis conn = null;try {conn = this.getConnection();return conn.setnx(key, value);} finally {this.returnConnection(conn);}}public String get(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.get(key);} finally {this.returnConnection(conn);}}public String getSet(String key, String value) {Jedis conn = null;try {conn = this.getConnection();return conn.getSet(key, value);} finally {this.returnConnection(conn);}}public long del(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.del(key);} finally {this.returnConnection(conn);}}public long del(String... keys) {Jedis conn = null;try {conn = this.getConnection();return conn.del(keys);} finally {this.returnConnection(conn);}}/*** 若 key 存在,返回 true ,否則返回 false 。*/public boolean exists(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.exists(key);} finally {this.returnConnection(conn);}}/*** 設置成功,返回 1, key 不存在或設置失敗,返回 0*/public long pexpire(String key, long milliseconds) {Jedis conn = null;try {conn = this.getConnection();return conn.pexpire(key, milliseconds);} finally {this.returnConnection(conn);}}public long hset(String key, String field, String value) {Jedis conn = null;try {conn = this.getConnection();return conn.hset(key, field, value);} finally {this.returnConnection(conn);}}/*** 將哈希表 key 中的域 field 的值設置為 value ,當且僅當域 field 不存在。* 若域 field 已經存在,該操作無效。* 如果 key 不存在,一個新哈希表被創建并執行 HSETNX 命令。*/public long hsetnx(String key, String field, String value) {Jedis conn = null;try {conn = this.getConnection();return conn.hsetnx(key, field, value);} finally {this.returnConnection(conn);}}public long hdel(String key, String... fields) {Jedis conn = null;try {conn = this.getConnection();return conn.hdel(key, fields);} finally {this.returnConnection(conn);}}public Set<String> hkeys(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.hkeys(key);} finally {this.returnConnection(conn);}}public Map<String, String> hgetAll(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.hgetAll(key);} finally {this.returnConnection(conn);}}public String hget(String key, String field) {Jedis conn = null;try {conn = this.getConnection();return conn.hget(key, field);} finally {this.returnConnection(conn);}}public long hincrBy(String key, String field, Long value) {Jedis conn = null;try {conn = this.getConnection();return conn.hincrBy(key, field, value);} finally {this.returnConnection(conn);}}public Long rpush(String key, String... strings) {Jedis conn = null;try {conn = this.getConnection();return conn.rpush(key, strings);} finally {this.returnConnection(conn);}}/*** 返回元素個數*/public Long lpush(String key, String... strings) {Jedis conn = null;try {conn = this.getConnection();return conn.lpush(key, strings);} finally {this.returnConnection(conn);}}public String lpop(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.lpop(key);} finally {this.returnConnection(conn);}}public String rpop(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.rpop(key);} finally {this.returnConnection(conn);}}public List<String> lrange(String key, long start, long end) {Jedis conn = null;try {conn = this.getConnection();return conn.lrange(key, start, end);} finally {this.returnConnection(conn);}}public long sadd(String key, String... members) {Jedis conn = null;try {conn = this.getConnection();return conn.sadd(key, members);} finally {this.returnConnection(conn);}}public Set<String> sinter(String... keys) {Jedis conn = null;try {conn = this.getConnection();return conn.sinter(keys);} finally {this.returnConnection(conn);}}public long scard(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.scard(key);} finally {this.returnConnection(conn);}}public String spop(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.spop(key);} finally {this.returnConnection(conn);}}public long srem(String key, String... members) {Jedis conn = null;try {conn = this.getConnection();return conn.srem(key, members);} finally {this.returnConnection(conn);}}public Set<String> smembers(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.smembers(key);} finally {this.returnConnection(conn);}}public Set<String> sunion(String... keys) {Jedis conn = null;try {conn = this.getConnection();return conn.sunion(keys);} finally {this.returnConnection(conn);}}public boolean sismember(String key, String member) {Jedis conn = null;try {conn = this.getConnection();return conn.sismember(key, member);} finally {this.returnConnection(conn);}}public long increment(String key, long amount) {Jedis conn = null;try {conn = this.getConnection();return conn.incrBy(key, amount);} finally {this.returnConnection(conn);}}public double increment(String key, double amount) {Jedis conn = null;try {conn = this.getConnection();return conn.incrByFloat(key, amount);} finally {this.returnConnection(conn);}}/*** 列表長度*/public long llen(String key) {Jedis conn = null;try {conn = this.getConnection();return conn.llen(key);} finally {this.returnConnection(conn);}}
}
轉載于:https://www.cnblogs.com/lalalagq/p/10218987.html
總結
以上是生活随笔為你收集整理的redis操作帮助类的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。