返回介绍

10. Java 操作 Redis

发布于 2024-08-13 21:04:52 字数 4869 浏览 0 评论 0 收藏 0

10.1 环境准备

1. 引入依赖

<!--引入 jedis 连接依赖-->
<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>2.9.0</version>
</dependency>

2.创建 jedis 对象

 public static void main(String[] args) {
   //1.创建 jedis 对象
   Jedis jedis = new Jedis("192.168.40.4", 6379);//1.redis 服务必须关闭防火墙  2.redis 服务必须开启远程连接
   jedis.select(0);//选择操作的库默认 0 号库
   //2.执行相关操作
   //....
   //3.释放资源
   jedis.close();
 }

image-20200623201932000

10.2 操作 key 相关 API

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

    //测试 key 相关
    @Test
    public void testKeys(){
        //删除一个 key
        jedis.del("name");
        //删除多个 key
        jedis.del("name","age");

        //判断一个 key 是否存在 exits
        Boolean name = jedis.exists("name");
        System.out.println(name);

        //设置一个 key 超时时间 expire pexpire
        Long age = jedis.expire("age", 100);
        System.out.println(age);

        //获取一个 key 超时时间 ttl
        Long age1 = jedis.ttl("newage");
        System.out.println(age1);

        //随机获取一个 key
        String s = jedis.randomKey();

        //修改 key 名称
        jedis.rename("age","newage");

        //查看可以对应值的类型
        String name1 = jedis.type("name");
        System.out.println(name1);
        String maps = jedis.type("maps");
        System.out.println(maps);
    }

image-20200627180325687

10.3 操作 String 相关 API

//测试 String 相关
    @Test
    public void testString(){
        //set
        jedis.set("name","小陈");
        //get
        String s = jedis.get("name");
        System.out.println(s);
        //mset
        jedis.mset("content","好人","address","海淀区");
        //mget
        List<String> mget = jedis.mget("name", "content", "address");
        mget.forEach(v-> System.out.println("v = " + v));
        //getset
        String set = jedis.getSet("name", "小明");
        System.out.println(set);

        //............
    }

image-20200627180352953

10.4 操作 List 相关 API

//测试 List 相关
    @Test
    public void testList(){

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

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

        //lrange

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

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

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

          //........

    }

image-20200627180435997

10.5 操作 Set 的相关 API

//测试 SET 相关
@Test
public void testSet(){

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

  //smembers
  jedis.smembers("names");

  //sismember
  jedis.sismember("names","xiaochen");

  //...
}

image-20200627181913715

10.6 操作 ZSet 相关 API

//测试 ZSET 相关
@Test
public void testZset(){

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

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

  //zcard
  jedis.zcard("names");

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

  //..

}

image-20200627181947116

10.7 操作 Hash 相关 API

//测试 HASH 相关
@Test
public void testHash(){
  //hset
  jedis.hset("maps","name","zhangsan");
  //hget
  jedis.hget("maps","name");
  //hgetall
  jedis.hgetAll("mps");
  //hkeys
  jedis.hkeys("maps");
  //hvals
  jedis.hvals("maps");
  //....
}

image-20200628093242527


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文