zoukankan      html  css  js  c++  java
  • java连接redis中的数据查、增、改、删操作的方法

    package com.lml.redis;


    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;


    import redis.clients.jedis.Jedis;


    public class RedisDBHelper {
    Jedis js = null;
    private String host = "127.0.0.1";
    private int port = 6379;


    /**
    * 链接redis数据库,进行初始化
    *
    * @param hostUrl:链接服务器的ip/名称
    * @param hostPort:主机的端口号
    * @return:返回是否初始化链接成功
    */
    public boolean init(String host, int port) {
    if (js == null) {
    js = new Jedis(host, port);
    }
    if (js != null) {
    System.out.println("初始化成功");
    return true;
    } else {
    return false;
    }
    }


    /**
    * 链接redis数据库,进行初始化
    *
    * @param host:链接服务器的ip/名称
    * @return:返回是否初始化链接成功
    */
    public boolean init(String host) {
    if (js == null) {
    js = new Jedis(host);
    }
    if (js != null) {
    System.out.println("初始化成功");
    return true;
    } else {
    return false;
    }
    }


    /**
    * 新增数据
    *
    * @param key:新增数据的键
    * @param value:新增数据的值
    * @return:返回boolean值,表示是否新增数据成功
    */
    public boolean set(String key, String value) {


    if (js.exists(key)) {
    System.out.println(key + "已存在");
    System.out.println("若要修改数据请使用update()方法");
    return false;
    } else {
    js.set(key, value);
    if (js.exists(key)) {
    if (value.equals(js.get(key))) {
    System.out.println("增加数据成功");
    return true;
    } else {
    System.out.println("增加数据失败");
    return false;
    }
    } else {
    System.out.println("增加数据失败");
    return false;
    }
    }
    }


    /**
    * 添加多条数据
    *
    * @param map:放置多条数据的键值对集合
    * @return:返回boolean值,表示是否新增数据全部成功
    */
    public boolean sets(Map<String, String> map) {
    boolean sets = true;
    for (Entry<String, String> e : map.entrySet()) {
    String key = e.getKey();
    String value = e.getValue();
    boolean set = set(key, value);
    if (!set) {
    sets = false;
    }
    }
    return sets;
    }


    /**
    * 删除数据
    *
    * @param key:要删除数据的key
    * @return:返回boolean值,表示是否删除成功
    */
    public boolean delete(String key) {


    if (js.exists(key)) {
    if (js.del(key) == 1) {
    System.out.println("删除数据成功");
    return true;
    } else {
    System.out.println("删除数据失败");
    return false;
    }
    } else {
    System.out.println(key + "不存在");
    return false;
    }
    }


    /**
    * 删除一组数据
    *
    * @param keys:要删除数据键集合
    * @return:返回boolean值,表示是否全部删除成功
    */
    public boolean deletes(String[] keys) {
    boolean deletes = true;
    for (String key : keys) {
    boolean delete = delete(key);
    if (!delete) {
    deletes = false;
    }
    }
    return deletes;
    }


    /**
    * 修改数据
    *
    * @param key:要修改数据的key
    * @param value:要修改数据的值
    * @return:返回boolean值,表示是否修改成功
    */
    public boolean update(String key, String value) {
    if (js.exists(key)) {
    js.set(key, value);
    if (value.equals(js.get(key))) {
    System.out.println("修改数据成功");
    return true;
    } else {
    System.out.println("修改数据失败");
    return false;
    }
    } else {
    System.out.println(key + "不存在");
    System.out.println("若要新增数据请使用set()方法");
    return false;
    }
    }


    /**
    * 获取表中数据
    *
    * @param key:要查询的key
    * @return:返回查找到的数据;如果键不存在则返回null;
    */
    public String get(String key) {
    if (js.exists(key)) {
    System.out.println(js.get(key));
    return js.get(key);
    } else {
    System.out.println(key + "不存在");
    return null;
    }
    }
    /**
    * 获取多条key的值
    * @param keys:多条key的集合
    * @return
    */
    public Map<String, String> gets(String[] keys) {
    Map<String, String> map = new HashMap<String, String>();
    for (String key : keys) {
    if (js.exists(key)) {
    String value = js.get(key);
    map.put(key, value);
    System.out.println(key + "-" + value);
    } else {
    System.out.println(key + "不存在");
    }
    }
    return map;
    }


    /**
    * 获得所有数据的键
    */
    public void getKeys() {
    Set<String> set = js.keys("*");
    if (set.size() != 0) {
    Iterator<String> it = set.iterator();
    while (it.hasNext()) {
    String key = it.next();
    System.out.println(key);
    }
    } else {
    System.out.println("数据库暂时没有数据");
    }
    }


    /**
    * 查询所有数据
    */
    public void getAll() {
    Set<String> set = js.keys("*");
    if (set.size() != 0) {
    Iterator<String> it = set.iterator();
    while (it.hasNext()) {
    String key = it.next();
    String value = js.get(key);
    System.out.println(key + "-" + value);
    }
    } else {
    System.out.println("数据库暂时没有数据");
    }
    }


    /**
    * 关闭链接
    */
    public void unInit() {
    if (js != null) {
    js.close();
    js = null;
    }
    }
    }

  • 相关阅读:
    FileWriter写数据路径问题及关闭和刷新方法的区别
    FileWriter剖析
    2018-10-27 22:44:33 c language
    2018-10-23 23:29:54 clanguage
    Just write about
    2018-10-19 00:13:35 ArrayList
    2018-10-18 22:15:32 c language
    Why do collection classes appear
    2018-10-17 22:20:39 c language
    2018-10-16 22:56:13 c language
  • 原文地址:https://www.cnblogs.com/zhuyeshen/p/12080584.html
Copyright © 2011-2022 走看看