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

java对于Redis中jedis的操作的更多相关文章

  1. Redis中的持久化操作

       本篇博客主要来解说一下怎样Redis中的持久化操作,当然了不是一篇理论性的博客,主要还是分享一下在redis中怎样来配置持久化操作.  1.介绍  redis为了内部数据的安全考虑,会把本身的数 ...

  2. Java 从 Redis中取出的Json字符串 带斜杠的问题解决方案

    Java 从 Redis中取出的Json字符串 带斜杠的问题: { "code": 200, "message": "成功", " ...

  3. java连接redis中的数据查、增、改、删操作的方法

    package com.lml.redis; import java.util.HashMap;import java.util.Iterator;import java.util.Map;impor ...

  4. Redis学习存档(2)——通过Java使用Redis:Jedis

    一.创建项目,引入jedis jar包 可在百度搜索maven repository 进入后搜索jedis,复制依赖包到pom.xml文件中 <project xmlns="http: ...

  5. Java连接redis之Jedis使用

    测试联通 创建Maven工程,引入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId&g ...

  6. java连接Redis初始化jedis失败!

    Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstant ...

  7. java连接redis使用jedis带密码

    一.引入jedis的Maven配置文件 <!-- redis连接客户端jedis --> <dependency> <groupId>redis.clients&l ...

  8. java 向Redis中存放数据 List<Device>转String

    /** * redis服务 */ @Autowired private RedisService redisService; //创建 Device  对象 Device no = new Devic ...

  9. redis中使用 check-and-set 操作实现乐观锁

    WATCH 命令可以为 Redis 事务提供 check-and-set (CAS)行为. 被 WATCH 的键会被监视,并会发觉这些键是否被改动过了. 如果有至少一个被监视的键在 EXEC 执行之前 ...

随机推荐

  1. BZOJ2756:[SCOI2012]奇怪的游戏(最大流,二分)

    Description Blinker最近喜欢上一个奇怪的游戏. 这个游戏在一个 N*M 的棋盘上玩,每个格子有一个数.每次 Blinker 会选择两个相邻 的格子,并使这两个数都加上 1. 现在 B ...

  2. C/C++心得-结构体

    先说句题外话,个人认为,基本上所有的高级语言被设计出来的最终目的是降低软件开发难度,提升软件开发人员素质和团队协作能力,降低软件维护的难度.在学习语言的时候,可以从这么方面来推测各种语言语法设计的原因 ...

  3. C++ 全局变量不明确与 using namespace std 冲突

    写了个汉诺塔,使用全局变量count来记录步数,结果Error:count不明确 #include <iostream> using namespace std; ; void hanoi ...

  4. 剑指offer5 从尾到头打印链表

    错误代码: class Solution { public: vector<int> printListFromTailToHead(ListNode* head){ vector< ...

  5. springboot之热部署

    一.介绍: spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. 二 ...

  6. Eclipse新导入的项目中ctrl+点击指定方法名或类名没有反应,不能跳转问题

    项目没有转成java项目 解决方法:右击项目名---选择properties----点击Project Facets,这样就可以实现ctrl+左键点击跳转了. 转成java项目后会报错 解决办法:选中 ...

  7. netstat命令的用法

    netstat用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.利用netstat指令可让你得知整个Linux系统的网络情况.参数:-a或–all 显示 ...

  8. 集合,ArrayList练习

    import java.util.ArrayList; import java.util.Iterator; public class ArrayListTest { public static vo ...

  9. es6 Proxy对象详解

    Proxy用于修改某些操作的默认行为,也可以理解为在目标对象之前架设一层拦截,外部所有的访问都必须先通过这层拦截,因此提供了一种机制,可以对外部的访问进行过滤和修改.这个词的原理为代理,在这里可以表示 ...

  10. C/C++中的malloc、calloc和realloc

    1. malloc 原型:extern void *malloc(unsigned int num_bytes); 头文件:Visual C++6.0中可以用malloc.h或者stdlib.h 功能 ...