java操作redis

java操作Redis

*

+ 1 环境准备
+
* 1.1. 引入依赖
* 1.2.创建jedis对象
* 1.3.事务
+ 2 操作key相关API
+ 3操作String相关API
+ 4操作List相关API
+ 5操作Set的相关API
+ 6 操作ZSet相关API
+ 7 操作Hash相关API

使用Java来操作Redis,Jedis是Redis官方推荐使用的Java连接redis的客户端。

1 环境准备

1.1. 引入依赖

<dependency>
    <groupId>redis.clientsgroupId>
    <artifactId>jedisartifactId>
    <version>3.2.0version>
dependency>

<dependency>
    <groupId>com.alibabagroupId>
    <artifactId>fastjsonartifactId>
    <version>1.2.70version>
dependency>
1.2.创建jedis对象
 public static void main(String[] args) {

   Jedis jedis = new Jedis("192.168.75.101", 6379);
   jedis.select(0);

   jedis.close();
 }
  1. 开放端口6379
firewall-cmd --zone=public --add-port=6379/tcp --permanet
1

重启防火墙服务

systemctl restart firewalld.service
  1. 阿里云服务器控制台配置安全组
  2. 重启redis-server
[root@AlibabaECS bin]
  • 操作命令 TestPing.java
public class TestPing {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.xx.xxx", 6379);
        String response = jedis.ping();
        System.out.println(response);
    }
}
  • 断开连接
1.3.事务
public class TestTX {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("198.168.xxx.xx", 6379);

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("hello", "world");
        jsonObject.put("name", "kuangshen");

        Transaction multi = jedis.multi();
        String result = jsonObject.toJSONString();

        try {
            multi.set("user1", result);
            multi.set("user2", result);

            multi.exec();
        }catch (Exception e){

            multi.discard();
        } finally {

            System.out.println(jedis.get("user1"));
            System.out.println(jedis.get("user2"));
            jedis.close();
        }
    }
}

2 操作key相关API

private Jedis jedis;
    @Before
    public void before(){
        this.jedis = new Jedis("192.168.XXX.XXX", 7000);
    }
    @After
    public void after(){
        jedis.close();
    }

    @Test
    public void testKeys(){

        jedis.del("name");

        jedis.del("name","age");

        Boolean name = jedis.exists("name");
        System.out.println(name);

        Long age = jedis.expire("age", 100);
        System.out.println(age);

        Long age1 = jedis.ttl("newage");
        System.out.println(age1);

        String s = jedis.randomKey();

        jedis.rename("age","newage");

        String name1 = jedis.type("name");
        System.out.println(name1);
        String maps = jedis.type("maps");
        System.out.println(maps);
    }

3操作String相关API


    @Test
    public void testString(){

        jedis.set("name","秦羽");

        String s = jedis.get("name");
        System.out.println(s);

        jedis.mset("content","tj","address","xqq");

        List<String> mget = jedis.mget("name", "content", "address");
        mget.forEach(v-> System.out.println("v = " + v));

        String set = jedis.getSet("name", "小明");
        System.out.println(set);

    }

4操作List相关API


    @Test
    public void testList(){

        jedis.lpush("names1","张三","王五","赵柳","win7");

        jedis.rpush("names1","xiaomingming");

        List<String> names1 = jedis.lrange("names1", 0, -1);
        names1.forEach(name-> System.out.println("name = " + name));

        String names11 = jedis.lpop("names1");
        System.out.println(names11);

        jedis.linsert("lists", BinaryClient.LIST_POSITION.BEFORE,"xiaohei","xiaobai");

    }

5操作Set的相关API


@Test
public void testSet(){

  jedis.sadd("names","zhangsan","lisi");

  jedis.smembers("names");

  jedis.sismember("names","qinyu");

}

6 操作ZSet相关API


@Test
public void testZset(){

  jedis.zadd("names",10,"张三");

  jedis.zrange("names",0,-1);

  jedis.zcard("names");

  jedis.zrangeByScore("names","0","100",0,5);

}

7 操作Hash相关API


@Test
public void testHash(){

  jedis.hset("maps","name","zhangsan");

  jedis.hget("maps","name");

  jedis.hgetAll("mps");

  jedis.hkeys("maps");

  jedis.hvals("maps");

}

Original: https://blog.csdn.net/qq_43585922/article/details/128266627
Author: 秦 羽
Title: java操作redis

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/785489/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球