package com.answer.redis; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import redis.clients.jedis.Jedis; public class RedisTool { Jedis jedis = null; public RedisTool(boolean flag) { //连接REDIS数据库 jedis = new Jedis("hadoop1"); //密码认证 if (flag) { jedis.auth("123456"); } } /** * @describe 判断key是否存在 * */ public boolean exists(String key){ return jedis.exists(key); } /** * @describe 往REDIS数据库中添加信息(数组形式) * */ public void lpush_arr(String key, String[] values) { jedis.lpush(key, values); } /** * @describe 返回key的类型 * */ public Object type(String key) { return jedis.type(key); } /** * @describe 随机返回一个key * */ public Object randomKey() { return jedis.randomKey(); } /** * @describe 返回数据库中key的数目 * */ public long dbSize() { return jedis.dbSize(); } /** * @describe 设置一个可以的存活时间 * @param seconds 存活时间 * */ public void expire(String key, int seconds) { jedis.expire(key, seconds); } /** * @describe 获取一个key的剩余存活时间 * */ public long ttl(String key) { return jedis.ttl(key); } /** * @describe 删除key及对应的filed-value * @param key * */ public void del(String key) { jedis.del(key); } /* * ############################### String ############################### * */ /** * @describe 获取key所对应的值(String) * */ public String get_str(String key) { return jedis.get(key); } /** * @describe 向REDIS存放一组key-value(String) * */ public void set_str(String key, String value) { jedis.set(key, value); } /** * @describe 在key对应的值后追加value(String) * */ public void append_str(String key, String value) { jedis.append(key, value); } /** * @describe 给key值所对应的value加1,前提value值是数字(String) * */ public void incr_str(String key) { jedis.incr(key); } /** * @describe 给key值所对应的value减1,前提value值是数字(String) * */ public void decr_str(String key) { jedis.decr(key); } /** * @describe 给key值所对应的value加上NUM(String) * @param num 要加去的数 * */ public void incrBy_str(String key, long num) { jedis.incrBy(key, num); } /** * @describe 给key值所对应的value减去NUM(String) * @param num 要减去的数 * */ public void decrBy_str(String key, long num) { jedis.decrBy(key, num); } /** * @describe 截取key所对应的value的字符串(String) * @param start start从0开始 * @param end 截取到value的end位置 * */ public String substr_str(String key, int start, int end) { return jedis.substr(key, start, end); } /* * ############################### List ############################### * */ /** * @describe 在key对应的list尾添加value(List) * */ public void rpush_list(String key, String[] value) { jedis.rpush(key, value); } /** * @describe 在key对应的list头添加value(List) * */ public void lpush_list(String key, String[] value) { jedis.lpush(key, value); } /** * @describe 获取key对应的list的长度(List) * @return 返回key对应的list的长度 * */ public long llen_list(String key) { return jedis.llen(key); } /** * @describe 返回key对应的list中从start至end的元素(List) * @param start 附:start从0开始算起 * @return 返回key对应的list中从start至end的元素 * */ public List<String> lrange_list(String key, int start, int end) { return jedis.lrange(key, start, end); } /** * @describe 获取key所对应的list的第index个元素(List) * @param index 附:index从0开始算起 * @return 返回key所对应的list的第index个元素 * */ public String lindex_list(String key, int index) { return jedis.lindex(key, index); } /** * @describe 给key所对应的list的第index元素赋值(List) * @param index 附:index从0开始算起且index的取值在list的长度范围之内 * */ public void lset_list(String key, int index, String value) { jedis.lset(key, index, value); } /** * @describe 删除key对应的list的首元素并返回该元素(List) * @return 返回被删除的元素 * */ public String lpop_list(String key) { return jedis.lpop(key); } /** * @describe 删除key对应的list的尾元素并返回该元素(List) * @return 返回被删除的元素 * */ public String rpop_list(String key) { return jedis.rpop(key); } /* * ############################### Set ############################### * */ /** * @describe 往REDIS中存放数据(Set) * @return 返回存放的元素个数 * */ public long sadd_set(String key, String[] elements) { return jedis.sadd(key, elements); } /** * @describe 删除key对应的value中的elements元素(Set) * @return 返回删除的元素个数 * */ public long srem_set(String key, String[] elements) { return jedis.srem(key, elements); } /** * @describe 获取key对应的value的元素个数(Set) * @return 返回key对应的value的元素个数 * */ public long scard_set(String key) { return jedis.scard(key); } /** * @describe element是否是key对应的value中的元素(Set) * @return true|false * */ public boolean sismember_set(String key, String element) { return jedis.sismember(key, element); } /** * @describe 获取多个key即keys的交集(Set) * @return 返回keys的交集 * */ public Set<String> sinter_set(String[] keys) { return jedis.sinter(keys); } /* * ############################### Hash ############################### * */ /** * @describe 向名称为key的hash中添加filed,其field与value是一对键值对(Hash) * */ public void hset_hash(String key, String field, String value) { jedis.hset(key, field, value); } /** * @describe 获取key下的hash中filed所对应的value值(Hash) * @return value * */ public String hget_hash(String key, String field) { return jedis.hget(key, field); } /** * @describe 获取key下的hash中filed所对应的value值(多个field,因此返回List结果集)(Hash) * @return value * */ public List<String> hmget_hash(String key, String[] fields) { return jedis.hmget(key, fields); } /** * @describe 往key中存储一个map对象(Hash) * @return OK * */ public String hmset_hash(String key, Map<String, String> hash) { return jedis.hmset(key, hash); } /** * @describe 名称为key的hash中是否存在键为field的域(Hash) * @return true false * */ public boolean hexists_hash(String key, String field) { return jedis.hexists(key, field); } /** * @describe 删除名称为key的hash中键为field的域(Hash) * @return 返回删除的个数 * */ public long hdel_hash(String key, String[] fields) { return jedis.hdel(key, fields); } /** * @describe 返回名称为key的hash中元素个数(Hash) * @return 返回key对应的hash的元素个数 * */ public long hlen_hash(String key) { return jedis.hlen(key); } /** * @describe 返回名称为key的hash中所有键即field(Hash) * @return 返回Set结果集 * */ public Set<String> hkeys_hash(String key) { return jedis.hkeys(key); } /** * @describe 返回名称为key的hash中所有键对应的value(Hash) * @return 返回List结果集 * */ public List<String> hkeys_hvals(String key) { return jedis.hvals(key); } /** * @describe 返回名称为key的hash中所有的键(field)及其对应的value(Hash) * @return 返回Map结果集 * */ public Map<String, String> hgetall_hash(String key) { return jedis.hgetAll(key); } /** * @describe 自定义引用JEDIS内置方法 * @category 由于有些方法不是很常用,所以定义此方法,方便调用其他本类未定义方法 * */ public Jedis getJedis() { return jedis; } }
芸芸众生,我只是一个码农,我正在努力的一步一个台阶。。。