• java:使用Jedis操作redis


    Redis是一个基于内存的高性能键值存储数据库,支持多种数据结构,如字符串、列表、集合等。在Java中,我们可以通过Jedis客户端来操作Redis数据库。

    1. 安装Jedis客户端

    在Java应用程序中使用Jedis客户端之前,需要将其添加到项目中。可以通过Maven或Gradle来管理依赖。下面是Maven的配置:

    <dependency>
        <groupId>redis.clientsgroupId>
        <artifactId>jedisartifactId>
        <version>3.6.0version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 连接Redis数据库

    使用Jedis客户端连接Redis数据库,需要指定Redis服务器的主机名和端口号。连接成功后,可以进行一系列的操作,如读取、写入、删除数据等。下面是连接到本地Redis服务器的示例代码:

    import redis.clients.jedis.Jedis;
    
    public class JedisDemo {
        public static void main(String[] args) {
            String host = "localhost";
            int port = 6379;
            Jedis jedis = new Jedis(host, port);
            System.out.println("Connected to Redis");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1. 写入和读取数据

    写入数据到Redis数据库中需要使用set方法,读取数据需要使用get方法。下面是一个简单的示例:

    import redis.clients.jedis.Jedis;
    
    public class JedisDemo {
        public static void main(String[] args) {
            String host = "localhost";
            int port = 6379;
            Jedis jedis = new Jedis(host, port);
    
            jedis.set("key", "value");
            String value = jedis.get("key");
            System.out.println("Value is " + value);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    1. 操作列表数据

    Redis中的列表是一个有序的字符串数组,可以用来存储一系列的元素。Jedis客户端提供了一系列操作列表的方法,如lpush、rpush、lrange、lpop等。下面是一个简单的示例:

    import redis.clients.jedis.Jedis;
    import java.util.List;
    
    public class JedisDemo {
        public static void main(String[] args) {
            String host = "localhost";
            int port = 6379;
            Jedis jedis = new Jedis(host, port);
    
            jedis.lpush("list", "value1");
            jedis.lpush("list", "value2");
            jedis.lpush("list", "value3");
    
            List<String> values = jedis.lrange("list", 0, -1);
            for (String value : values) {
                System.out.println(value);
            }
    
            jedis.lpop("list");
            values = jedis.lrange("list", 0, -1);
            for (String value : values) {
                System.out.println(value);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    1. 操作集合数据

    Redis中的集合是一个无序的字符串数组,可以用来存储一系列的元素,而且每个元素都是唯一的。Jedis客户端提供了一系列操作集合的方法,如sadd、smembers、srem等。下面是一个简单的示例:

    import redis.clients.jedis.Jedis;
    import java.util.Set;
    
    public class JedisDemo {
        public static void main(String[] args) {
            String host = "localhost";
            int port = 6379;
            Jedis jedis = new Jedis(host, port);
    
            jedis.sadd("set", "value1");
            jedis.sadd("set", "value2");
            jedis.sadd("set", "value3");
            jedis.sadd("set", "value3");
    
            Set<String> values = jedis.smembers("set");
            for (String value : values) {
                System.out.println(value);
            }
    
            jedis.srem("set", "value2");
            values = jedis.smembers("set");
            for (String value : values) {
                System.out.println(value);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    1. 操作哈希表数据

    Redis中的哈希表是一个键值对的集合,键和值都是字符串类型。Jedis客户端提供了一系列操作哈希表的方法,如hset、hget、hexists、hdel等。下面是一个简单的示例:

    import redis.clients.jedis.Jedis;
    import java.util.Map;
    
    public class JedisDemo {
        public static void main(String[] args) {
            String host = "localhost";
            int port = 6379;
            Jedis jedis = new Jedis(host, port);
    
            jedis.hset("hash", "field1", "value1");
            jedis.hset("hash", "field2", "value2");
            jedis.hset("hash", "field3", "value3");
    
            String value = jedis.hget("hash", "field1");
            System.out.println("Value is " + value);
    
            Map<String, String> hash = jedis.hgetAll("hash");
            for (Map.Entry<String, String> entry : hash.entrySet()) {
                System.out.println(entry.getKey() + " -> " + entry.getValue());
            }
    
            jedis.hdel("hash", "field2");
            hash = jedis.hgetAll("hash");
            for (Map.Entry<String, String> entry : hash.entrySet()) {
                System.out.println(entry.getKey() + " -> " + entry.getValue());
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    1. 总结

    Jedis是一个非常实用的Redis客户端,可以方便的在Java应用程序中操作Redis数据库。本文介绍了Jedis客户端的连接方式、写入和读取数据、操作列表、集合以及哈希表数据的方法,并提供了相应的示例代码。如果你正在开发一个Redis相关的应用程序,Jedis是一个很好的选择。

  • 相关阅读:
    字符串资源LoadString 加速键资源TranslateAccelerator、LoadAccelerators
    C与C++字符串分割方法示例汇总
    DaoCloud贾恒:一文搞懂发布现代化
    【Unity Material】02 - Material使用技巧
    详解Mysql事务隔离级别与锁机制
    将强化学习重新引入 RLHF
    Swagger总结
    轻松玩转Vite/Rollup/webpack/esbuild/Rspack/babel插件开发(一)
    Linux下Jenkins服务器安装与使用
    AI-“国外一开源,国内就创新”!
  • 原文地址:https://blog.csdn.net/weixin_43972437/article/details/133711149