java对于Redis中jedis的操作

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;
    }
}

 

芸芸众生,我只是一个码农,我正在努力的一步一个台阶。。。

 

改编至:http://www.cnblogs.com/edisonfeng/p/3571870.html

posted @ 2016-03-04 17:34  Answer.AI.L  阅读(226)  评论(0编辑  收藏  举报