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. 2018 Multi-University Training Contest 4 Problem L. Graph Theory Homework 【YY】

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6343 Problem L. Graph Theory Homework Time Limit: 2000 ...

  2. SpringBoot实战(十二)之集成kisso

    关于kisso介绍,大家可以参考官方文档或者是我的博客:https://www.cnblogs.com/youcong/p/9794735.html 一.导入maven依赖 <project x ...

  3. ESlint 语法检测配置说明

    部分vue-cli脚手架创建的默认eslint规则: 代码末尾不能加分号 ; 代码中不能存在多行空行 tab键不能使用,必须换成两个空格 代码中不能存在声明了但未使用的变量 关闭eslint 这里只说 ...

  4. 使用IPDB调试Python代码

    (转载自:https://xmfbit.github.io/2017/08/21/debugging-with-ipdb/) IPDB是什么?IPDB(Ipython Debugger),和GDB类似 ...

  5. Jmeter--HTTPS请求

    (1)新建threadGroup:                               (2)设置并发用户数量:                                     (3) ...

  6. diogo谈框,仿prompt()方法布局

    展示效果: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. ORA-04044: 此处不允许过程, 函数, 程序包或类型和

    用Orale代码建表时,出现 SQL> comment on column SCORE.cno 2 is '学号(外键)';comment on column SCORE.cno is '学号( ...

  8. <a>标签跳转到Servelet页面并实现参数的传递

    <a>标签跳转到页面不能通过request.setAttribute()和getAttribute()方法获取参数. <a>标签只能通过request.getParameter ...

  9. 关于sharepoint如何做SSO,如何做OOS监视编辑

    应客户需求,需要做sharepoint SSO,以前都是默认的AD验证,如果客户已经有一套SSO系统,验证过SSO之后就能自动登录,而不是浏览器上设置保存用户名密码的AD登陆. 怎么做呢? 首先sha ...

  10. 基于kafka rest实现资源访问服务化(实战)

    问题引出 新产品的体系架构包含多个模块,模块集特点是数量多.模块间交互复杂.那么统一接口是一个很好的解决方案,为了实现统一接口打算采用微服务的核心思想,设计了采用restful service的数据交 ...