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. 9.spring:事务管理(下):声明式事务管理

    声明式事务管理 sprin的声明式事务是管理AOP技术实现的事务管理,其本质是是对方法前后进行拦截,然后 在目标方法开始之前创建或者加入一个事务,在执行完成目标方法之后根据执行情况提交或者回滚事务. ...

  2. HDU 1275 两车追及或相遇问题(相遇和追及公式)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1275 两车追及或相遇问题 Time Limit: 2000/1000 MS (Java/Others) ...

  3. Many-to-many relationships in EF Core 2.0 – Part 3: Hiding as ICollection

    In the previous post we ended up with entities that hide the join entity from the public surface. Ho ...

  4. Java Bean与Map之间相互转化的实现

    目录树 概述 Apache BeanUtils将Bean转Map Apache BeanUtils将Map转Bean 理解BeanUtils将Bean转Map的实现之手写Bean转Map 概述 Apa ...

  5. Android 中Dialog的使用

    本文是参考ProAndroid的第10章Working with Dialogs的内容,在合适的地方添加了作者自己的一些见解最终成文. Android 中的对话框是一个展示在当前窗口上的小一号的窗口, ...

  6. 产品 | What's产品经理

    如果想知道什么是产品,首先需要知道什么是缔造者.其名曰:"产品经理". PS:产品经理一词在国内大多时候泛指"互联网产品经理". 对于产品经理这一职位,说实在很 ...

  7. 并发之AtomicIntegerFieldUpdater

    基于反射的实用工具,可以对指定类的指定 volatile int 字段进行原子更新.此类用于原子数据结构,该结构中同一节点的几个字段都独立受原子更新控制. 先来看一段代码: package autom ...

  8. HTML5新特性之离线缓存技术

    一.离线缓存的起因. HTML5之前的网页,都是无连接,必须联网才能访问,这其实也是web的特色,这其实对于PC是时代问题并不大,但到了移动互联网时代, 设备终端位置不再固定,依赖无线信号,网络的可靠 ...

  9. 学习 Linux_kernel_exploits 小记

    Linux_kernel_exploits+ 功能:自动生成UAF类型漏洞exp文件的工具,目前缺少文档介绍,可以参考test文件下的使用实例,但是源码中缺少dataflowanalyzer模块+ 相 ...

  10. 线上服务内存OOM问题定位三板斧

    相信大家都有感触,线上服务内存OOM的问题,是最难定位的问题,不过归根结底,最常见的原因: 本身资源不够 申请的太多 资源耗尽 58到家架构部,运维部,58速运技术部联合进行了一次线上服务内存OOM问 ...